Computer interface apparatus including linkage having flex

ABSTRACT

A method and apparatus for interfacing the motion of a user-manipulable object with an electrical or computer system includes a user object physically contacted by a user. A gimbal mechanism is coupled to the user object, such as a joystick or a medical tool, and provides at least two degrees of freedom to the user object. The gimbal mechanism preferably includes multiple members, at least two of which are formed as a unitary member which provides flex between the selected members. An actuator applies a force along a degree of freedom to the user object in response to electrical signals produced by the computer system. A sensor detects a position of the user object along the degree of freedom and outputs sensor signals to the computer system. Another embodiment includes a host computer system and a local microprocessor, separate from the host computer, for communicating with the host computer and controlling the forces output by the actuators according to a processor subroutine selected in accordance with a host command, sensor signals, and timing information. Another embodiment of the interface apparatus uses voice coil actuators that produce forces in either linear or rotary degrees of freedom using currents applied in a magnetic fields. A friction drive mechanism of the present invention can be coupled between an actuator and a gimbal mechanism. Force from the actuator is transmitted to the gimbal mechanism through frictional contact of members of the friction drive mechanism.

CROSS REFERENCE TO RELATED APPLICATIONS

This is a Continuation application of prior application Ser. No.09/140,717 now U.S. Pat. No. 6,201,533 filed on Aug. 26, 1998, which isa divisional of U.S. application Ser. No. 08/560,091, now U.S. Pat. No.5,805,140, filed on Nov. 17, 1995, which is a continuation-in-part ofU.S. application Ser. No. 08/374,288, now U.S. Pat. No. 5,731,804, filedJan. 18, 1995, the disclosures of which are incorporated herein byreference in their entirety.

BACKGROUND OF THE INVENTION

The present invention relates generally to interface devices betweenhumans and computers, and more particularly to computer interfacedevices that provide force feedback to the user.

Virtual reality computer systems provide users with the illusion thatthey are part of a “virtual” environment. A virtual reality system willtypically include a computer processor, such as a personal computer orworkstation, specialized virtual reality software, and virtual realityI/O devices such as head mounted displays, sensor gloves, threedimensional (“3D”) pointers, etc.

Virtual reality computer systems can be used for training. In manyfields, such as aviation and vehicle and systems operation, virtualreality systems have been used successfully to allow a user to learnfrom and experience a realistic “virtual” environment. The appeal ofusing virtual reality computer systems for training relates, in part, tothe ability of such systems to allow trainees the luxury of confidentlyoperating in a highly realistic environment and making mistakes without“real world” consequences. For example, a virtual reality computersystem can allow a doctor-trainee or other human operator or user to“manipulate” a scalpel or probe within a computer-simulated “body”, andthereby perform medical procedures on a virtual patient. In thisinstance, the I/O device which is typically a 3D pointer, stylus, or thelike is used to represent a surgical instrument such as a scalpel orprobe. As the “scalpel” or “probe” moves within a provided space orstructure, results of such movement are updated and displayed in a bodyimage displayed on the screen of the computer system so that theoperator can gain the experience of performing such a procedure withoutpracticing on an actual human being or a cadaver. In other applications,virtual reality computer systems allow a user to handle and manipulatethe controls of complicated and expensive vehicles and machinery fortraining and/or entertainment purposes. For example, a pilot orastronaut in training can operate a fighter aircraft or spacecraft bymanipulating controls such as a control joystick and other buttons andview the results of controlling the aircraft on a virtual realitysimulation of the aircraft in flight. In yet other applications, a usercan manipulate objects and tools in the real world, such as a stylus,and view the results of the manipulation in a virtual reality world witha “virtual stylus” viewed on a screen, in 3-D goggles, etc.

For virtual reality systems to provide a realistic (and thereforeeffective) experience for the user, sensory feedback and manualinteraction should be as natural as possible. As virtual reality systemsbecome more powerful and as the number of potential applicationsincreases, there is a growing need for specific human/computer interfacedevices which allow users to interface with computer simulations withtools that realistically emulate the activities being represented withinthe virtual simulation. While the state of the art in virtual simulationand medical imaging provides a rich and realistic visual feedback, thereis a great need for new human/computer interface tools which allow usersto perform natural manual interactions with the computer simulation.

In addition to sensing and tracking a user's manual activity and feedingsuch information to the controlling computer to provide a 3D visualrepresentation to the user, a human interface mechanism should alsoprovide force or tactile (“haptic”) feedback to the user. The need forthe user to obtain realistic tactile information and experience tactilesensation is extensive in many kinds of simulation and otherapplications. For example, in medical/surgical simulations, the “feel”of a probe or scalpel simulator is important as the probe is movedwithin the simulated body. It would invaluable to a medical trainee tolearn how an instrument moves within a body, how much force is requireddepending on the operation performed, the space available in a body tomanipulate an instrument, etc. In simulations of vehicles or equipment,force feedback for controls such as a joystick can be necessary torealistically teach a user the force required to move the joystick whensteering in specific situations, such as in a high accelerationenvironment of an aircraft. In virtual world simulations where the usercan manipulate objects, force feedback is necessary to realisticallysimulate physical objects; for example, if a user touches a pen to atable, the user should feel the impact of the pen on the table. Aneffective human/computer interface not only acts as an input device fortracking motion, but also as an output device for producing realistictactile sensations. A “high bandwidth” interface system, which is aninterface that accurately responds to signals having fast changes and abroad range of frequencies as well as providing such signals accuratelyto a control system, is therefore desirable in these and otherapplications.

In addition, there is a desire to provide force feedback to users ofcomputer systems in the entertainment industry. Joysticks and otherinterface devices can be used to provide force feedback to a userplaying a video game or experiencing a simulation for entertainmentpurposes. Through such an interface device, a computer system can conveyto the user the physical sensation of colliding into a wall, movingthrough a liquid, driving over a bumpy road, and other sensations. Theuser can thus experience an entire sensory dimension in the gamingexperience that was previously absent. Force feedback interfaces canprovide a whole new modality for human-computer interaction.

There are number of devices that are commercially available forinterfacing a human with a computer for virtual reality simulations.There are, for example, 2-dimensional input devices such as mice,trackballs, joysticks, and digitizing tablets. However, 2-dimensionalinput devices tend to be awkward and inadequate to the task ofinterfacing with 3-dimensional virtual reality simulations.3-dimensional interface devices are also available. A 3-dimensionalhuman/computer interface tool sold under the trademark Immersion PROBE™is marketed by Immersion Human Interface Corporation of Santa Clara,Calif., and allows manual control in 3-dimensional virtual realitycomputer environments. A pen-like stylus allows for dexterous3-dimensional manipulation in six degrees of freedom, and the positionand orientation of the stylus is communicated to a host computer. TheImmersion PROBE, however, does not provide force feedback to a user andthus does not allow a user to experience an entire sensory dimension invirtual reality simulations. Prior art force feedback joysticks providephysical sensations to the user by controlling motors that are coupledto the joystick.

In typical multi-degree of freedom apparatuses that include forcefeedback, there are several disadvantages. Since actuators which supplyforce feedback tend to be heavier and larger than sensors, they wouldprovide inertial constraints if added to a device such as the ImmersionPROBE. There is also the problem of coupled actuators. In a typicalforce feedback device, a serial chain of links and actuators isimplemented to achieve multiple degrees of freedom in a desired objectpositioned at the end of the chain, i.e., each actuator is coupled tothe previous actuator. The user who manipulates the object must carrythe inertia of all of the subsequent actuators and links except for thefirst actuator in the chain, which is grounded. While it is possible toground all of the actuators in a serial chain by using a complextransmission of cables or belts, the end result is a low stiffness, highfriction, high damping transmission which corrupts the bandwidth of thesystem, providing the user with an unresponsive and inaccurateinterface. These types of interfaces also introduce tactile “noise” tothe user through friction and compliance in signal transmission andlimit the degree of sensitivity conveyed to the user through theactuators of the device.

Other existing devices provide force feedback to a user. In U.S. Pat.No. 5,184,319, by J. Kramer, an interface is described which providesforce and texture information to a user of a computer system. Theinterface consists of an glove or “exoskeleton” which is worn over theuser's appendages, such as fingers, arms, or body. Forces can be appliedto the user's appendages using tendon assemblies and actuatorscontrolled by a computer system to simulate force and textual feedback.However, the system described by Kramer is not easily applicable tosimulation environments such as those mentioned above where an object isreferenced in 3D space and force feedback is applied to the object. Theforces applied to the user in Kramer are with reference to the body ofthe user; the absolute location of the user's appendages are not easilycalculated. In addition, the exoskeleton devices of Kramer can becumbersome or even dangerous to the user if extensive devices are wornover the user's appendages. Furthermore, the devices disclosed in Kramerare complex mechanisms in which many actuators must be used to provideforce feedback to the user.

In addition, low-cost and portable mechanical interfaces which canprovide force feedback are desirable. For example, personal computersfor the home consumer are becoming powerful and fast enough to provideforce feedback to the typical mass market consumer. A need is thusarising to be able to manufacture and market force feedback interfacesas cheaply and as efficiently as possible. The cost, complexity,reliability, and size of a force feedback interface for home use shouldbe practical enough to mass produce the devices. In addition, aestheticconcerns such as compactness and operating noise level of a forcefeedback device are of concern in the home market. Since the prior artfeedback interfaces are mainly addressed to specific applications inindustry, most force feedback mechanisms are costly, large, heavy, havesignificant power requirements, are difficult to program forapplications. The prior art devices require high speed control signalsfrom a controlling computer for stability, which usually requires moreexpensive and complex electronics. In addition, the prior art forcefeedback devices are typically large and noisy. These factors providemany obstacles to the would-be manufacturer of force-feedback interfacesto the home computer market.

Therefore, a less complex, less expensive alternative to ahuman/computer interface tool having force feedback, lower inertia,higher bandwidth, and less noise is desirable for certain applications.

SUMMARY OF THE INVENTION

The present invention provides a human/computer interface apparatus andmethod which can provide from one to six degrees of freedom to auser-manipulable object and low cost, highly realistic force feedback tothe user of the apparatus. The structure of the apparatus permitstransducers to be positioned such that their inertial contribution tothe system is very low. A number of the members of the mechanicalinterface can be manufactured as a single member, providing a low costinterface for a high volume market. In addition, a friction drivemechanism and voice coil actuators provide additional low costalternatives for the interface.

An interface apparatus and method of the present invention forinterfacing the motion of a user-manipulable object with an electricalsystem includes a user object physically contacted by a user. A gimbalmechanism is coupled to the user object, such as a joystick or a medicaltool, and provides at least two degrees of freedom to the user object,where the gimbal mechanism includes multiple members. A selected numberof those members are segments formed as a unitary member which providesflex between the selected members. An actuator applies a force along adegree of freedom to the user object in response to electrical signalsproduced by the electrical system. A sensor detects a position of theuser object along the degree of freedom and outputs sensor signals tothe electrical system. The actuator and sensor thus provide anelectromechanical interface between the user object and the electricalsystem. An actuator provides force to the user object along each degreeof freedom, and the actuators are decoupled from each other.

The gimbal mechanism preferably provides at least two revolute degreesof freedom to the user object about axes of rotation. Alternatively, thegimbal mechanism can provide at least two linear degrees of freedomalong linear axes. In a preferred embodiment, the multiple members ofthe gimbal mechanism are formed as a closed-loop linkage. The linkagecan include four members that are flexibly coupled to each other assegments of the unitary member. The four members include first andsecond extension members and first and second flexible central members,where the central members are each coupled to an extension member and toeach other at the user object. A ground member is coupled to a groundsurface and is rotatably coupled to the unitary flexible member bybearings. Other embodiments include coupling an object member to theuser object and to the central members, and rotating the object memberin a third “spin” degree of freedom, where the rotation in the thirddegree of freedom is allowed by the flexibility of the central members.In yet other embodiments, the ends of the central members are rotatablycoupled to the extension members by bearings, and the central membersare flexibly coupled to the user object. In another embodiment, the endsof the central members are flexibly coupled to the extension members andthe central members are rotatably coupled to the user object by abearing. In yet another embodiment, a third central member is flexiblycoupled between one of the extension members and the user object. Alinear axis member can be coupled to the gimbal mechanism to provide theuser object with a third linear degree of freedom. A passive damperelement can also be coupled to at least one member of the gimbalmechanism to increase dynamic stability of the interface system.Finally, a capstan drive mechanism, including a cable and pully, canused to transmit forces to and from the actuator/sensor and the userwith no substantial backlash.

In another preferred embodiment, the interface apparatus interfaces themotion of the user object with the electrical system, which is a hostcomputer. The host computer system can display images to the user on adisplay screen. A local microprocessor, separate from the host computerand controlled by software instructions, is used to communicate with thehost computer via a communication interface by receiving a host commandfrom the host computer. The actuator applies a force to the gimbalmechanism along a degree of freedom to the user object in accordancewith a processor command received from the processor. The processorcommand is derived from the host command. Finally, the sensor detectspositions of the user object along a degree of freedom and outputs thesensor signals to the host computer system. The sensor signals includeinformation representative of the position of the user object.Preferably, the sensor is electrically coupled to the processor andoutputs the sensor signals to the processor, and the processor sends thesensor signals to the host computer. The processor provides theprocessor command to the actuator using a processor subroutine selectedin accordance with the host command and stored in a memory device. Theprocessor also utilizes the sensor signals to help determine a forceoutput by the actuator. In addition, the processor preferably can usetiming information from a clock coupled to the processor to determinethe force output by the actuator. The communication interface caninclude a serial interface which, although relatively slow, may be usedto provide accurate force feedback by using the local microprocessor.

In yet another preferred embodiment of an interface apparatus of thepresent invention, the actuators for applying forces to the user objectinclude voice coil actuators. These actuators apply a current to a wirecoil within a magnetic field to produce a force on the coil and amoveable member to which the coil is attached. The produced force has aparticular direction depending on the direction of a current flowedthrough said coil and a magnitude depending on the magnitude of thecurrent. Preferably, an electrical interface is electrically coupledbetween the voice coil actuators and the electrical system/hostcomputer, and the electrical interface preferably includes a voice coildriver chip for driving the voice coil actuators. The voice coil driverchip preferably has a variable gain of voltage input to current outputto provide more realistic and a greater range of forces. In an alternateembodiment, the wire coil includes multiple sub-coils that each includea different number of loops. Constant magnitude currents can thus beflowed through selected sub-coils to create different force values onthe user object. In addition, the voice coil may includes one coil ofwire to apply the force to the user object, and a second coil of wireused as a sensor for sensing a velocity of the user-manipulable object.

In one preferred voice coil actuator interface embodiment, the userobject is coupled to a planar member, such as a circuit board. Thecircuit board is translatable in two degrees of freedom, and thistranslation causes the user object to move in two user object degrees offreedom. In one embodiment, the user object is coupled to a ball jointthat is rotatable in a socket, such that translation of the circuitboard causes the ball joint to rotate in the socket and thus causes theuser object to pivot in two rotary two degrees of freedom. In anotherembodiment, the user object is coupled directly to the circuit board andis translated in linear degrees of freedom as the planar member istranslated. The coils of wire included in the voice coil actuators canbe etched onto the circuit board. In addition, the voice coil driverchips used for driving the voice coil actuators, and other electroniccomponents, can be included on the circuit board.

In another preferred embodiment, the interface apparatus includes afriction drive mechanism coupled between an actuator and a gimbalmechanism of the interface apparatus. Force from the actuator istransmitted to the gimbal mechanism through frictional contact ofmembers of the friction drive mechanism. The friction drive mechanismpreferably includes a rotatable drum having a drive bar. A drive rolleris coupled to the actuator and frictionally engages the drive bar torotate the drum and transmit a force to the object in a degree offreedom. Preferably, one or more passive rollers are frictionallyengaged with the drive bar on the opposite side of the drive bar to thedrive roller, so that a greater compression force is provided betweenthe drive roller and the drive bar. The passive rollers can be springloaded to the drive roller to provide greater compression force.Preferably, a friction drive mechanism is provided for a second degreeof freedom actuator as well. In an alternate embodiment, the frictiondrive mechanism includes a translatable drum having a drive bar, wherethe drive roller frictionally engages the drive bar to translate thedrum and apply a linear force to the object in a linear degree offreedom.

The interface apparatus of the present invention includes several lowcost components that are suitable for providing accurate force feedbackfor the home market and other markets. The flexible unitary member ofthe preferred gimbal mechanism can be produced as one part withoutincurring expenses for bearings and assembly procedures. The embodimentsof the present invention including the voice coil actuators utilizereadily-available, cheap components that are able to produce realisticforces for the user. The friction drive mechanism of the presentinvention is able to transmit forces and provide mechanical advantageusing low cost parts. These improvements allow a computer system to havemore complete and accurate control over a low-cost interface providingrealistic force feedback.

These and other advantages of the present invention will become apparentto those skilled in the art upon a reading of the followingspecification of the invention and a study of the several figures of thedrawing.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of a virtual reality system which employsan apparatus of the present invention to interface a laparoscope toolhandle with a computer system;

FIG. 2 is a perspective view of a mechanical apparatus of the presentinvention for providing mechanical input and output to a computersystem;

FIG. 3 is a perspective front view of a preferred embodiment of themechanical apparatus of FIG. 2;

FIG. 4 is a perspective rear view of the embodiment of the mechanicalapparatus of FIG. 3;

FIG. 5 is a perspective detailed view of a capstan drive mechanism usedfor two degrees of motion in the present invention;

FIG. 5a is a side elevational view of the capstan drive mechanism shownin FIG. 5;

FIG. 5b is a detailed side view of a pulley and cable of the capstandrive mechanism of FIG. 5;

FIG. 6 is a perspective view of a center capstan drive mechanism for alinear axis member of the mechanical apparatus shown in FIG. 3;

FIG. 6a is a cross sectional top view of a pulley and linear axis memberused in the capstan drive mechanism of FIG. 6;

FIG. 6b is a cross sectional side view of the linear axis member andtransducer shown in FIG. 6;

FIG. 7 is a perspective view of an embodiment of the apparatus of FIG. 2having a stylus object for the user;

FIG. 8 is a perspective view of an embodiment of the apparatus of FIG. 2having a joystick object for the user;

FIG. 9 is a block diagram of a computer and the interface between thecomputer and the mechanical apparatus of FIG. 2;

FIG. 10 is a schematic diagram of a suitable circuit for a digital toanalog controller of the interface of FIG. 9;

FIG. 11 is a schematic diagram of a suitable power amplification circuitfor powering the actuators of the present invention as shown in FIG. 9;

FIG. 12 is a perspective view of an alternate embodiment of themechanical apparatus of FIG. 2 including flexible members;

FIG. 13 is a top plan view of the mechanical apparatus of FIG. 12;

FIG. 14 is a perspective view of a second alternate embodiment of themechanical apparatus of FIG. 12;

FIG. 15 is a perspective view of a third alternate embodiment of themechanical apparatus of FIG. 12;

FIG. 16 is a perspective view of a fourth alternate embodiment of themechanical apparatus of FIG. 12;

FIG. 17 is a perspective view of a fifth alternate embodiment of themechanical apparatus of FIG. 12;

FIG. 18 is a perspective view of the mechanical apparatus of FIG. 2including a voice coil actuator;

FIG. 19a is a side sectional view of the voice coil actuator of FIG. 18;

FIG. 19b is a top plan view of the voice coil actuator of FIG. 19a;

FIGS. 20a-20 e are schematic diagrams of an alternate embodiment of thevoice coil actuator of FIG. 19a;

FIG. 21a is a perspective view of an interface apparatus of the presentinvention including linear voice coil actuators;

FIG. 21b is a side sectional view showing a linear voice coil actuatorof FIG. 21a;

FIG. 21c is a perspective view of an alternate embodiment of theinterface apparatus of FIG. 21a;

FIG. 22a is a top plan view of an interface apparatus of the presentinvention having linear voice coil actuators on a circuit board and inwhich the user object can be moved in rotary degrees of freedom;

FIG. 22b is a side elevational view of the interface apparatus of FIG.22a;

FIG. 22c is a top plan view of an alternate embodiment of the interfaceapparatus of FIG. 22a using a different anti-rotation flexure;

FIG. 22d is a top plan view of an alternate embodiment of the interfaceapparatus of FIG. 22a in which the user object can be moved in lineardegrees of freedom;

FIG. 22e is a side elevational view of the interface apparatus of FIG.22c;

FIGS. 23a to 23 f are side elevational views of a friction drive of thepresent invention suitable for use with the interface apparatus of thepresent invention; and

FIG. 24 is a block diagram of a host computer and an alternativeembodiment of the electronic interface between the computer and aninterface apparatus of the present invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

FIG. 1 illustrates an example of the use of the present invention formedical simulation purposes. A virtual reality system 10 used tosimulate a medical procedure includes a human/computer interfaceapparatus 12, an electronic interface 14, and a host computer 16. Theillustrated virtual reality system 10 is directed to a virtual realitysimulation of a laparoscopic surgery procedure.

The handle 26 of a laparoscopic tool 18 used in conjunction with thepresent invention is manipulated by an operator and virtual realityimages are displayed on a display screen 20 of the digital processingsystem in response to such manipulations. Display screen 20 can be astandard display screen or CRT, 3-D goggles, or any other visualinterface. The digital processing system is typically a host computer16. Preferably, the host computer is a personal computer or workstation,such as an IBM-PC AT or Macintosh personal computer, or a SUN or SiliconGraphics workstation. For example, the computer 16 can operate under theMS-DOS operating system in conformance with an IBM PC AT standard.Alternatively, host computer system 12 can be one of a variety of homevideo game systems commonly connected to a television set, such assystems available from Nintendo, Sega, or Sony. In other embodiments,home computer system 12 can be a “set top box” which can be used, forexample, to provide interactive television functions to users.

Host computer 16 implements a host application program with which a useris interacting via peripherals and interface device 14. For example, thehost application program can be a video game, medical simulation,scientific analysis program, or even an operating system or otherapplication program that utilizes force feedback. Typically, the hostapplication provides images to be displayed on a display output device,as described below, and/or other feedback, such as auditory signals. Themedical simulation example of FIG. 1 includes a host medical simulationapplication program. Such software is commercially available as, forexample, Teleos™ from High Techsplanations of Rockville, Md. Suitablesoftware drivers which interface such simulation software with computerinput/output (I/O) devices are available from Immersion Human InterfaceCorporation of Santa Clara, Calif. Alternatively, display screen 20 candisplay images from a game application program. For example, imagesdescribing a point of view from a first-person perspective can bedisplayed, as in a virtual reality game. Or, images describing athird-person perspective of objects, backgrounds, etc. can be displayed.

One example of a human/interface apparatus 12 as illustrated herein isused to simulate a laparoscopic medical procedure. In addition to thehandle of a standard laparoscopic tool 18, the human/interface apparatus12 may include a barrier 22 and a standard laparoscopic trocar 24 (or afacsimile of a trocar). The barrier 22 is used to represent portion ofthe skin covering the body of a patient. Trocar 24 is inserted into thebody of the virtual patient to provide an entry and removal point fromthe body of the patient for the laparoscopic tool 18, and to allow themanipulation of the laparoscopic tool. Laparoscopic tools and trocars 24are commercially available from sources such as U.S. Surgical ofConnecticut. Barrier 22 and trocar 24 can be omitted from apparatus 12in other embodiments. Preferably, the laparoscopic tool 18 is modified;in the preferred embodiment, the shaft is replaced by a linear axismember of the present invention, as described below. In otherembodiments, the end of the shaft of the tool (such as any cuttingedges) can be removed. The end of the laparoscopic tool 18 is notrequired for the virtual reality simulation, and is removed to preventany potential damage to persons or property.

The laparoscopic tool 18 includes a handle or “grip” portion 26 and ashaft portion 28. The shaft portion is an elongated mechanical objectand, in particular, is an elongated cylindrical object, described ingreater detail below. In one embodiment, the present invention isconcerned with tracking the movement of the shaft portion 28 inthree-dimensional space, where the movement has been constrained suchthat the shaft portion 28 has only three or four free degrees of motion.This is a good simulation of the real use of a laparoscopic tool 18 inthat once it is inserted into a trocar 24 and through the mechanicalapparatus 25, it is limited to about four degrees of freedom. Moreparticularly, the shaft 28 is constrained at some point of along itslength such that it can move with four degrees of freedom within thepatient's body.

A mechanical apparatus 25 for interfacing mechanical input and output isshown within the “body” of the patient in phantom lines. When a surfaceis generated on the computer screen, the computer will send feedbacksignals to the tool 18 and mechanical apparatus 25, which has actuatorsfor generating forces in response to the position of a virtuallaparoscopic tool relative to the surface depicted on the computerscreen. Force is applied for example, by powering the actuatorsappropriate to the images portrayed on the screen. Mechanical apparatus25 is shown in greater detail with respect to FIGS. 2 and 12.

While one embodiment of the present invention will be discussed withreference to the laparoscopic tool 18, it will be appreciated that agreat number of other types of objects can be used with the method andapparatus of the present invention. In fact, the present invention canbe used with any mechanical object where it is desirable to provide ahuman/computer interface with one to six degrees of freedom. Suchobjects may include endoscopic or other similar surgical tools used inmedical procedures, catheters, hypodermic needles, wires, fiber opticbundles, styluses, joysticks, screw drivers, pool cues, etc. Some ofthese other objects are described in detail subsequently.

The electronic interface 14 is a component of the human/computerinterface apparatus 12 and may couple the apparatus 12 to the hostcomputer 16. Electronic interface 14 can be included within a housing ofmechanical apparatus 25 or be provided as a separate unit, as shown inFIG. 1. More particularly, interface 14 is used in preferred embodimentsto couple the various actuators and sensors of apparatus 25 (describedin detail below) to computer 16. One suitable embodiment of interface 14is described in detail with reference to FIG. 9, in which the interfacecan include a dedicated interface card to be plugged into computer 16. Adifferent embodiment 14′ of interface 14 is described in detail withrespect to FIG. 20, in which the interface includes a microprocessorlocal to the apparatus 12 and can be coupled to computer 16 through aslower, serial interface or a parallel interface.

The electronic interface 14 can be coupled to mechanical apparatus 25 ofthe apparatus 12 by a cable 30 (or may be included within the housing ofapparatus 12) and is coupled to the computer 16 by a cable 32 (or may bedirectly connected to the computer using a interface card). In otherembodiments, signals can be sent to and from interface 14 and computer16 by wireless transmission and reception. In some embodiments of thepresent invention, interface 14 serves solely as an input device for thecomputer 16. In other embodiments of the present invention, interface 14serves solely as an output device for the computer 16. In preferredembodiments of the present invention, the interface 14 serves as aninput/output (I/O) device for the computer 16. The interface 14 can alsoreceive inputs from other input devices or controls that are associatedwith apparatus 12 and can relay those inputs to computer 16. Forexample, commands sent by the user activating a button on apparatus 12can be relayed to computer 16 to implement a command or cause thecomputer 16 to output a command to the apparatus 12. Such input devicesare described in greater detail with respect to FIG. 24.

In FIG. 2, a perspective view of mechanical apparatus 25 for providingmechanical input and output in accordance with the present invention isshown. Apparatus 25 includes a gimbal mechanism 38 and a linear axismember 40. A user object 44 is preferably coupled to linear axis member40.

Gimbal mechanism 38, in the described embodiment, provides support forapparatus 25 on a grounded surface 56 (schematically shown as part ofmember 46). Gimbal mechanism 38 is preferably a five-member linkage thatincludes a ground member 46, extension members 48 a and 48 b, andcentral members 50 a and 50 b. Ground member 46 is coupled to a base orsurface which provides stability for apparatus 25. Ground member 46 isshown in FIG. 2 as two separate members coupled together throughgrounded surface 56. The members of gimbal mechanism 38 are rotatablycoupled to one another through the use of rotatable bearings or pivots,wherein extension member 48 a is rotatably coupled to ground member 46by bearing 43 a and can rotate about an axis A, central member 50 a isrotatably coupled to extension member 48 a by bearing 45 a and canrotate about a floating axis D, extension member 48 b is rotatablycoupled to ground member 46 by bearing 43 b and can rotate about axis B,central member 50 b is rotatably coupled to extension member 48 b bybearing 45 b and can rotate about floating axis E, and central member 50a is rotatably coupled to central member 50 b by bearing 47 at a centerpoint P at the intersection of axes D and E. Preferably, central member50 a is coupled to one rotatable portion 47 a of bearing 47, and centralmember 50 b is coupled to the other rotatable portion 47 b of bearing47. The axes D and E are “floating” in the sense that they are not fixedin one position as are axes A and B. Axes A and B are substantiallymutually perpendicular. As used herein, “substantially perpendicular”will mean that two objects or axis are exactly or almost perpendicular,i.e. at least within five degrees or ten degrees of perpendicular, ormore preferably within less than one degree of perpendicular. Similarly,the term “substantially parallel” will mean that two objects or axis areexactly or almost parallel, i.e. are at least within five or ten degreesof parallel, and are preferably within less than one degree of parallel.

Gimbal mechanism 38 is formed as a five member closed chain. Each end ofone member is coupled to the end of a another member. The five-memberlinkage is arranged such that extension member 48 a, central member 50a, and central member 50 b can be rotated about axis A in a first degreeof freedom. The linkage is also arranged such that extension member 48b, central member 50 b, and central member 50 a can be rotated aboutaxis B in a second degree of freedom. When object 44 is positioned atthe “origin” as shown in FIG. 2, an angle θ between the central members50 a and 50 b is about 90 degrees. When object 44 is rotated about oneor both axes A and B, central members move in two fashions: rotationabout axis D or E by bearing 45 b and/or 45 a, and rotation about axis Cby bearing 47 such that angle θ changes. For example, if the object 44is moved into the page of FIG. 2 away from the viewer, or out of theplane of the page toward the viewer, then the angle θ will decrease. Ifthe object is moved to the left or right as shown in FIG. 2, the angle θwill increase.

Linear axis member 40 is preferably an elongated rod-like member whichis coupled to central member 50 a and central member 50 b at the pointof intersection P of axes A and B. As shown in FIG. 1, linear axismember 40 can be used as shaft 28 of user object 44. In otherembodiments, linear axis member 40 is coupled to a different object.Linear axis member 40 is coupled to gimbal mechanism 38 such that itextends out of the plane defined by axis A and axis B. Linear axismember 40 can be rotated about axis A by rotating extension member 48 a,central member 50 a, and central member 50 b in a first revolute degreeof freedom, shown as arrow line 51. Member 40 can also be rotated aboutaxis B by rotating extension member 50 b and the two central membersabout axis B in a second revolute degree of freedom, shown by arrow line52. Being also translatably coupled to the ends of central members 50 aand 50 b, linear axis member 40 can be linearly translated,independently with respect to the gimbal mechanism 38, along floatingaxis C, providing a third degree of freedom as shown by arrows 53. AxisC can, of course, be rotated about one or both axes A and B as member 40is rotated about these axes.

Also preferably coupled to gimbal mechanism 38 and linear axis member 40are transducers, such as sensors and actuators. Such transducers arepreferably coupled at the link points between members of the apparatusand provide input to and output from an electrical system, such ascomputer 16. Transducers that can be used with the present invention aredescribed in greater detail with respect to FIG. 3.

User object 44 is coupled to apparatus 25 and is preferably an interfaceobject for a user to grasp or otherwise manipulate in three dimensional(3D) space. One example of a user object 44 is the grip 26 of alaparoscopic tool 18, as shown in FIG. 1. Shaft 28 of tool 18 can beimplemented as part of linear axis member 40. Other examples describedin subsequent embodiments include a stylus and joystick. User object 44may be moved in all three degrees of freedom provided by gimbalmechanism 38 and linear axis member 40 and additional degrees of freedomas described below. As user object 44 is moved about axis A, floatingaxis D varies its position, and as user object 44 is moved about axis B,floating axis E varies its position. The floating axes E and D arecoincident with the fixed axes A and B, respectively, when the userobject is in a center position as shown in FIG. 2.

FIGS. 3 and 4 are perspective views of a specific embodiment of amechanical apparatus 25′ for providing mechanical input and output to acomputer system in accordance with the present invention. FIG. 3 shows afront view of apparatus 25′, and FIG. 4 shows a rear view of theapparatus. Apparatus 25′ includes a gimbal mechanism 38, a linear axismember 40, and transducers 42. A user object 44, shown in thisembodiment as a laparoscopic instrument having a grip portion 26, iscoupled to apparatus 25′. Apparatus 25′ operates in substantially thesame fashion as apparatus 25 described with reference to FIG. 2.

Gimbal mechanism 38 provides support for apparatus 25′ on a groundedsurface 56, such as a table top or similar surface. The members andjoints (“bearings”) of gimbal mechanism 38 are preferably made of alightweight, rigid, stiff metal, such as aluminum, but can also be madeof other rigid materials such as other metals, plastic, etc. Gimbalmechanism 38 includes a ground member 46, capstan drive mechanisms 58,extension members 48 a and 48 b, central drive member 50 a, and centrallink member 50 b. Ground member 46 includes a base member 60 andvertical support members 62. Base member 60 is coupled to groundedsurface 56 and provides two outer vertical surfaces 61 which are in asubstantially perpendicular relation which each other. A verticalsupport member 62 is coupled to each of these outer surfaces of basemember 60 such that vertical members 62 are in a similar substantially90-degree relation with each other.

A capstan drive mechanism 58 is preferably coupled to each verticalmember 62. Capstan drive mechanisms 58 are included in gimbal mechanism38 to provide mechanical advantage without introducing friction andbacklash to the system. A capstan drum 59 of each capstan drivemechanism is rotatably coupled to a corresponding vertical supportmember 62 to form axes of rotation A and B, which correspond to axes Aand B as shown in FIG. 1. The capstan drive mechanisms 58 are describedin greater detail with respect to FIG. 5.

Extension member 48 a is rigidly coupled to capstan drum 59 and isrotated about axis A as capstan drum 59 is rotated. Likewise, extensionmember 48 b is rigidly coupled to the other capstan drum 59 and can berotated about axis B. Both extension members 48 a and 48 b are formedinto a substantially 90-degree angle with a short end 49 coupled tocapstan drum 59. Central drive member 50 a is rotatably coupled to along end 55 of extension member 48 a and extends at a substantiallyparallel relation with axis B. Similarly, central link member 50 b isrotatably coupled to the long end of extension member 48 b and extendsat a substantially parallel relation to axis A (as better viewed in FIG.4). Central drive member 50 a and central link member 50 b are rotatablycoupled to each other at the center of rotation of the gimbal mechanism,which is the point of intersection P of axes A and B. Bearing 64connects the two central members 50 a and 50 b together at theintersection point P.

Gimbal mechanism 38 provides two degrees of freedom to an objectpositioned at or coupled to the center point P of rotation. An object ator coupled to point P can be rotated about axis A and B or have acombination of rotational movement about these axes.

Linear axis member 40 is a cylindrical member that is preferably coupledto central members 50 a and 50 b at intersection point P. In alternateembodiments, linear axis member 40 can be a non-cylindrical memberhaving a cross-section of, for example, a square or other polygon.Member 40 is positioned through the center of bearing 64 and throughholes in the central members 50 a and 50 b. The linear axis member canbe linearly translated along axis C, providing a third degree of freedomto user object 44 coupled to the linear axis member. Linear axis member40 can preferably be translated by a transducer 42 using a capstan drivemechanism similar to capstan drive mechanism 58. The translation oflinear axis member 40 is described in greater detail with respect toFIG. 6.

Transducers 42 are preferably coupled to gimbal mechanism 38 to provideinput and output signals between mechanical apparatus 25′ and computer16. In the described embodiment, transducers 42 include two groundedtransducers 66 a and 66 b, central transducer 68, and shaft transducer70. The housing of grounded transducer 66 a is preferably coupled tovertical support member 62 and preferably includes both an actuator forproviding force in or otherwise influencing the first revolute degree offreedom about axis A and a sensor for measuring the position of object44 in or otherwise influenced by the first degree of freedom about axisA, i.e., the transducer 66 a is “associated with” or “related to” thefirst degree of freedom. A rotational shaft of actuator 66 a is coupledto a pulley of capstan drive mechanism 58 to transmit input and outputalong the first degree of freedom. The capstan drive mechanism 58 isdescribed in greater detail with respect to FIG. 5. Grounded transducer66 b preferably corresponds to grounded transducer 66 a in function andoperation. Transducer 66 b is coupled to the other vertical supportmember 62 and is an actuator/sensor which influences or is influenced bythe second revolute degree of freedom about axis B.

Grounded transducers 66 a and 66 b are preferably bi-directionaltransducers which include sensors and actuators. The sensors arepreferably relative optical encoders which provide signals to measurethe angular rotation of a shaft of the transducer. The electricaloutputs of the encoders are routed to computer interface 14 via buses 66a and 66 b and are detailed with reference to FIG. 9. Other types ofsensors can also be used, such as potentiometers, etc. In addition, itis also possible to use non-contact sensors at different positionsrelative to mechanical apparatus 25. For example, a Polhemus (magnetic)sensor can detect magnetic fields from objects; or, an optical sensorsuch as lateral effect photo diode includes a emitter/detector pair thatdetects positions of the emitter with respect to the detector in one ormore degrees of freedom; for example, a photo diode by Hamamatsu Co.,part S1743, can be used. These types of sensors are able to detect theposition of object 44 in particular degrees of freedom without having tobe coupled to a joint of the mechanical apparatus. Alternatively,sensors can be positioned at other locations of relative motion orjoints of mechanical apparatus 25.

It should be noted that the present invention can utilize both absoluteand relative sensors. An absolute sensor is one which the angle of thesensor is known in absolute terms, such as with an analog potentiometer.Relative sensors only provide relative angle information, and thusrequire some form of calibration step which provide a reference positionfor the relative angle information. The sensors described herein areprimarily relative sensors. In consequence, there is an impliedcalibration step after system power-up wherein the sensor's shaft isplaced in a known position within the apparatus 25′ and a calibrationsignal is provided to the system to provide the reference positionmentioned above. All angles provided by the sensors are thereafterrelative to that reference position. Such calibration methods are wellknown to those skilled in the art and, therefore, will not be discussedin any great detail herein.

Transducers 66 a and 66 b also preferably include actuators. Theseactuators can be of two types: active actuators and passive actuators.Active actuators include linear current control motors, stepper motors,pneumatic/hydraulic active actuators, and other types of actuators thattransmit a force to move an object. For example, active actuators candrive a rotational shaft about an axis in a rotary degree of freedom, ordrive a linear shaft along a linear degree of freedom. Activetransducers of the present invention are preferably bidirectional,meaning they can selectively transmit force along either direction of adegree of freedom. For example, DC servo motors can receive forcecontrol signals to control the direction and torque (force output) thatis produced on a shaft. In the described embodiment, active linearcurrent control motors, such as DC servo motors, are used. The controlsignals for the motor are produced by computer interface 14 on controlbuses 67 a and 67 b and are detailed with respect to FIG. 9. The motorsmay include brakes which allow the rotation of the shaft to be halted ina short span of time. Also, the sensors and actuators in transducers 42can be included together as a sensor/actuator pair transducers. Asuitable transducer for the present invention including both an opticalencoder and current controlled motor is a 20 W basket wound servo motormanufactured by Maxon.

In alternate embodiments, other types of active motors can also be used,such as a stepper motor, brushless DC motors, pneumatic/hydraulicactuators, a torquer (motor with limited angular range), or a voicecoil, which are well known to those skilled in the art. Voice coils aredescribed in greater detail with respect to FIG. 18. Stepper motors andthe like are not as well suited because stepper motor control involvesthe use of steps or pulses which can be felt as pulsations by the user,thus corrupting the virtual simulation. The present invention is bettersuited to the use of linear current controlled motors, which do not havethis noise.

Passive actuators can also be used in transducers 66 a, 66 b, and 68.Magnetic particle brakes, friction brakes, or pneumatic/hydraulicpassive actuators can be used in addition to or instead of a motor togenerate a damping resistance or friction in a degree of motion. Analternate preferred embodiment only including passive actuators may notbe as realistic as an embodiment including motors; however, the passiveactuators are typically safer for a user since the user does not have tofight generated forces. Passive actuators typically can only providebi-directional resistance to a degree of motion. A suitable magneticparticle brake for interface device 14 is available from Force Limited,Inc. of Santa Monica, Calif.

In other embodiments, all or some of transducers 42 can include onlysensors to provide an apparatus without force feedback along designateddegrees of freedom. Similarly, all or some of transducers 42 can beimplemented as actuators without sensors to provide only force feedback.

In addition, in some embodiments, passive (or “viscous”) damper elementscan be provided on the bearings of apparatus 25 to remove energy fromthe system and intentionally increase the dynamic stability of themechanical system. This may have the side effect of degrading thebandwidth of the system; however, if other factors such as the speed ofprocessor 410 (see FIG. 24), rate of actuator control, and positionsensing resolution already degrade the bandwidth, then such dampers maybe acceptable. For example, inexpensive plastic dampers, such asrotational dampers produced by Fastex/Deltar, can be placed at desiredbearing positions and have one end grounded. In other embodiments, thispassive damping can be introduced by using the back electromotive force(EMF) of the actuators 42 to remove energy from the system. This canalso be accomplished by using a shunt resistor coupled across theterminals of a motor or the coils of a voice coil actuator. Also,passive brakes, as mentioned above, can be used. In addition, in thevoice coil embodiments (see FIGS. 18-22), multiple wire coils can beprovided, where some of the coils can be used to provide back EMF anddamping forces.

Central transducer 68 is coupled to central drive member 50 a andpreferably includes an actuator for providing force in the linear thirddegree of freedom along axis C and a sensor for measuring the positionof object 44 along the third degree of freedom. The rotational shaft ofcentral transducer 68 is coupled to a translation interface coupled tocentral drive member 50 a which is described in greater detail withrespect to FIG. 6. In the described embodiment, central transducer 68 isan optical encoder and DC servo motor combination similar to theactuators 66 a and 66 b described above.

The transducers 66 a, 66 b and 68 of the described embodiment areadvantageously positioned to provide a very low amount of inertia to theuser handling object 44. Transducer 66 a and transducer 66 b aredecoupled, meaning that the transducers are both directly coupled toground member 46 which is coupled to ground surface 56, i.e. the groundsurface carries the weight of the transducers, not the user handlingobject 44. The weights and inertia of the transducers 66 a and 66 b arethus substantially negligible to a user handling and moving object 44.This provides a more realistic interface to a virtual reality system,since the computer can control the transducers to provide substantiallyall of the forces felt by the user in these degrees of motion. Apparatus25′ is a high bandwidth force feedback system, meaning that highfrequency signals can be used to control transducers 42 and these highfrequency signals will be applied to the user object with highprecision, accuracy, and dependability. The user feels very littlecompliance or “mushiness” when handling object 44 due to the highbandwidth. In contrast, in typical prior art arrangements ofmulti-degree of freedom interfaces, one actuator “rides” upon anotheractuator in a serial chain of links and actuators. This low bandwidtharrangement causes the user to feel the inertia of coupled actuatorswhen manipulating an object.

Central transducer 68 is positioned near the center of rotation of tworevolute degrees of freedom. Though the transducer 68 is not grounded,its central position permits a minimal inertial contribution to themechanical apparatus 25′ along the provided degrees of freedom. A usermanipulating object 44 thus will feel minimal internal effects from theweight of transducers 66 a, 66 b and 68.

Shaft transducer 70 preferably includes a sensor and is provided in thedescribed embodiment to measure a fourth degree of freedom for object44. Shaft transducer 70 is preferably positioned at the end of linearaxis member 40 that is opposite to the object 44 and measures therotational position of object 44 about axis C in the fourth degree offreedom, as indicated by arrow 72. Shaft transducer 70 is described ingreater detail with respect to FIG. 6 and 6b. Preferably, shafttransducer 72 is implemented using an optical encoder similar to theencoders described above. A suitable input transducer for use in thepresent invention is an optical encoder model SI marketed by U.S.Digital of Vancouver, Wash. In the described embodiment, shafttransducer 70 only includes a sensor and not an actuator. This isbecause for typical medical procedures, which is one intendedapplication for the embodiment shown in FIGS. 3 and 4, rotational forcefeedback to a user about axis C is typically not required to simulateactual operating conditions. However, in alternate embodiments, anactuator such as a motor can be included in shaft transducer 70 similarto transducers 66 a, 66 b, and 68.

Object 44 is shown in FIGS. 3 and 4 as a grip portion 26 of alaparoscopic tool similar to the tool shown in FIG. 1. Shaft portion 28is implemented as linear axis member 40. A user can move thelaparoscopic tool about axes A and B, and can translate the tool alongaxis C and rotate the tool about axis C. The movements in these fourdegrees of freedom will be sensed and tracked by computer system 16.Forces can be applied preferably in the first three degrees of freedomby the computer system to simulate the tool impacting a portion ofsubject body, experiencing resistance moving through tissues, etc.

Optionally, additional transducers can be added to apparatus 25′ toprovide additional degrees of freedom for object 44. For example, atransducer can be added to grip 26 of laparoscopic tool 18 to sense whenthe user moves the two portions 26 a and 26 b relative to each other tosimulate extending the cutting blade of the tool. Such a laparoscopictool sensor is described in U.S. Pat. No. 5,623,582, filed Jul. 14, 1994and entitled “Method and Apparatus for Providing Mechanical I/O forComputer Systems” assigned to the assignee of the present invention andincorporated herein by reference in its entirety.

FIG. 5 is a perspective view of a capstan drive mechanism 58 shown insome detail. As an, example, the drive mechanism 58 coupled to extensionarm 48 b is shown; the other capstan drive 58 coupled to extension arm48 a is substantially similar to the mechanism presented here. Capstandrive mechanism 58 includes capstan drum 59, capstan pulley 76, and stop78. Capstan drum 59 is preferably a wedge-shaped member having legportion 82 and a curved portion 84. Other shapes of member 59 can alsobe used. Leg portion 82 is pivotally coupled to vertical support member62 at axis B (or axis A for the opposing capstan drive mechanism).Extension member 48 b is rigidly coupled to leg portion 82 such thatwhen capstan drum 59 is rotated about axis B, extension member 48 b isalso rotated and maintains the position relative to leg portion 82 asshown in FIG. 5. Curved portion 84 couples the two ends of leg portion82 together and is preferably formed in an arc centered about axis B.Curved portion 84 is preferably positioned such that its bottom edge 86is about 0.030 inches above pulley 76.

Cable 80 is preferably a thin metal cable connected to curved portion 84of the capstan drum. Other types of durable cables, cords, wire, etc.can be used as well. Cable 80 is attached at a first end to curvedportion 84 near an end of leg portion 82 and is drawn tautly against theouter surface 86 of curved portion 84. Cable 80 is wrapped around pulley76 a number of times and is then again drawn tautly against outersurface 86. The second end of cable 80 is firmly attached to the otherend of curved portion 84 near the opposite leg of leg portion 82. Thecable transmits rotational force from pulley 76 to the capstan drum 59,causing capstan drum 59 to rotate about axis B as explained below. Thecable also transmits rotational force from drum 59 to the pulley andtransducer 66 b. The tension in cable 80 should be at a level so thatnegligible backlash or play occurs between capstan drum 59 and pulley76. Preferably, the tension of cable 80 can be adjusted by pulling more(or less) cable length through an end of curved portion 84. Caps 81 onthe ends of curved portion 84 can be used to easily tighten cable 80.Each cap 81 is preferably tightly coupled to cable 80 and includes apivot and tightening screw which allow the cap to move in a directionindicated by arrow 83 to tighten cable 80.

Capstan pulley 76 is a threaded metal cylinder which transfersrotational force from transducer 66 b to capstan drum 59 and fromcapstan drum 59 to transducer 66 b. Pulley 76 is rotationally coupled tovertical support member 62 by a shaft 88 (shown in FIG. 5a) positionedthrough a bore of vertical member 62 and rigidly attached to pulley 76.Transducer 66 b is coupled to pulley 76 by shaft 88 through verticalsupport member 62. Rotational force is applied from transducer 66 b topulley 76 when the actuator of transducer 66 b rotates the shaft. Thepulley, in turn, transmits the rotational force to cable 80 and thusforces capstan drum 59 to rotate in a direction about axis B. Extensionmember 48 b rotates with capstan drum 59, thus causing force along thesecond degree of freedom for object 44. Note that pulley 76, capstandrum 59 and extension member 48 b will only actually rotate if the useris not applying the same amount or a greater amount of rotational forceto object 44 in the opposite direction to cancel the rotationalmovement. In any event, the user will feel the rotational force alongthe second degree of freedom in object 44 as force feedback.

The capstan mechanism 58 provides a mechanical advantage to apparatus25′ so that the force output of the actuators can be increased. Theratio of the diameter of pulley 76 to the diameter of capstan drum 59(i.e. double the distance from axis B to the bottom edge 86 of capstandrum 59) dictates the amount of mechanical advantage, similar to a gearsystem. In the preferred embodiment, the ratio of drum to pulley isequal to 15:1, although other ratios can be used in other embodiments.

Similarly, when the user moves object 44 in the second degree offreedom, extension member 48 b rotates about axis B and rotates capstandrum 59 about axis B as well. This movement causes cable 80 to move,which transmits the rotational force to pulley 76. Pulley 76 rotates andcauses shaft 88 to rotate, and the direction and magnitude of themovement is detected by the sensor of transducer 66 b. A similar processoccurs along the first degree of freedom for the other capstan drivemechanism 58. As described above with respect to the actuators, thecapstan drive mechanism provides a mechanical advantage to amplify thesensor resolution by a ratio of drum 59 to pulley 76 (15:1 in thepreferred embodiment).

Stop 78 is rigidly coupled to vertical support member 62 a fewmillimeters above curved portion 84 of capstan drum 59. Stop 78 is usedto prevent capstan drum 59 from moving beyond a designated angularlimit. Thus, drum 59 is constrained to movement within a range definedby the arc length between the ends of leg portion 82. This constrainedmovement, in turn, constrains the movement of object 44 in the first twodegrees of freedom. In the described embodiment, stop 78 is acylindrical member inserted into a threaded bore in vertical supportmember 62.

FIG. 5a is a side elevational view of capstan mechanism 58 as shown inFIG. 5. Cable 80 is shown routed along the bottom side 86 of curvedportion 84 of capstan drum 59. Cable 80 is preferably wrapped aroundpulley 76 so that the cable is positioned between threads 90, i.e., thecable is guided by the threads as shown in greater detail in FIG. 5b. Aspulley 76 is rotated by transducer 66 b or by the manipulations of theuser, the portion of cable 80 wrapped around the pulley travels closerto or further from vertical support member 62, depending on thedirection that pulley 76 rotates. For example, if pulley 76 is rotatedcounterclockwise (when viewing the pulley as in FIG. 5), then cable 80moves toward vertical support member 62 as shown by arrow 92. Capstandrum 59 also rotates clockwise as shown by arrow 94. The threads ofpulley 76 are used mainly to provide cable 80 with a better grip onpulley 76. In alternate embodiments, pulley 76 includes no threads, andthe high tension in cable 80 allows cable 80 to grip pulley 76.

Capstan drive mechanism 58 is advantageously used in the presentinvention to provide transmission of forces and mechanical advantagebetween transducers 66 a and 66 b and object 44 without introducingsubstantial compliance, friction, or backlash to the system. A capstandrive provides increased stiffness, so that forces are transmitted withnegligible stretch and compression of the components. The amount offriction is also reduced with a capstan drive mechanism so thatsubstantially “noiseless” tactile signals can be provided to the user.In addition, the amount of backlash contributed by a capstan drive isalso negligible. “Backlash” is the amount of play that occurs betweentwo coupled rotating objects in a gear or pulley system. Two gears,belts, or other types of drive mechanisms could also be used in place ofcapstan drive mechanism 58 in alternate embodiments to transmit forcesbetween transducer 66 a and extension member 48 b. However, gears andthe like typically introduce some backlash in the system. In addition, auser might be able to feel the interlocking and grinding of gear teethduring rotation of gears when manipulating object 44; the rotation in acapstan drive mechanism is much less noticeable.

FIG. 6 is a perspective view of central drive member 50 a and linearaxis member 40 shown in some detail. Central drive member 50 a is shownin a partial cutaway view to expose the interior of member 50 a. Centraltransducer 68 is coupled to one side of central drive member 50 a. Inthe described embodiment, a capstan drive mechanism is used to transmitforces between transducer 68 and linear axis member 40 along the thirddegree of freedom. A rotatable shaft 98 of transducer 68 extends througha bore in the side wall of central drive member 50 a and is coupled to acapstan pulley 100. Pulley 100 is described in greater detail below withrespect to FIG. 6a.

Linear axis member 40 preferably includes an exterior sleeve 91 and aninterior shaft 93 (described with reference to FIG. 6b, below). Exteriorsleeve 91 is preferably a partially cylindrical member having a flat 41provided along its length. Flat 41 prevents sleeve 91 from rotatingabout axis C in the fourth degree of freedom described above. Linearaxis member 40 is provided with a cable 99 which is secured on each endof member 40 by tension caps 101. Cable 99 preferably runs down amajority of the length of exterior sleeve 91 on the surface of flat 41and can be tightened, for example, by releasing a screw 97, pulling anend of cable 99 until the desired tension is achieved, and tighteningscrew 97. Similarly to the cable of the capstan mechanism described withreference to FIG. 5, cable 99 should have a relatively high tension.

As shown in FIG. 6a, cable 99 is wrapped a number of times around pulley100 so that forces can be transmitted between pulley 100 and linear axismember 40. Pulley 100 preferably includes a central axle portion 103 andend lip portions 105. Exterior sleeve 91 is preferably positioned suchthat flat 41 of the sleeve is touching or is very close to lip portions105 on both sides of axle portion 103. The cable 99 portion aroundpulley 100 is wrapped around central axle portion 103 and moves alongportion 103 towards and away from shaft 98 as the pulley is rotatedclockwise and counterclockwise, respectively. The diameter of axleportion 103 is smaller than lip portion 105, providing space between thepulley 100 and flat 41 where cable 99 is attached and allowing freemovement of the cable. Pulley 100 preferably does not include threads,unlike pulley 76, since the tension in cable 99 allows the cable to grippulley 100 tightly. In other embodiments, pulley 100 can be a threadedor unthreaded cylinder similar to capstan pulley 76 described withreference to FIG. 5.

Using the capstan drive mechanism, transducer 68 can translate linearaxis member 40 along axis C when the pulley is rotated by the actuatorof transducer 68. Likewise, when linear axis member 40 is translatedalong axis C by the user manipulating object 44, pulley 100 and shaft 98are rotated; this rotation is detected by the sensor of transducer 68.The capstan drive mechanism provides low friction and smooth, rigidoperation for precise movement of linear axis member 40 and accurateposition measurement of the member 40.

Other drive mechanisms can also be used to transmit forces to linearaxis member and receive positional information from member 40 along axisC. For example, a drive wheel made of a rubber-like material or otherfrictional material can be positioned on shaft 98 to contact linear axismember 40 along the edge of the wheel. The wheel can cause forces alongmember 40 from the friction between wheel and linear axis member. Such adrive wheel mechanism is disclosed in the abovementioned U.S. Pat. No.5,623,582, as well as in U.S. Pat. No. 5,821,920, filed Nov. 23, 1994and entitled “Method and Apparatus for Providing Mechanical I/O forComputer Systems Interfaced with Elongated Flexible Objects” assigned tothe assignee of the present invention and incorporated herein byreference in its entirety. Linear axis member 40 can also be a singleshaft in alternate embodiments instead of a dual part sleeve and shaft.

Referring to the cross sectional side view of member 40 and transducer70 shown in FIG. 6b, interior shaft 93 is positioned inside hollowexterior sleeve 91 and is rotatably coupled to sleeve 91. A first end107 of shaft 93 preferably extends beyond sleeve 91 and is coupled toobject 44. When object 44 is rotated about axis C, shaft 93 is alsorotated about axis C in the fourth degree of freedom within sleeve 91.Shaft 93 is translated along axis C in the third degree of freedom whensleeve 91 is translated. Alternatively, interior shaft 93 can be coupledto a shaft of object 44 within exterior sleeve 91. For example, a shortportion of shaft 28 of laparoscopic tool 18, as shown in FIG. 1, canextend into sleeve 91 and be coupled to shaft 93 within the sleeve, orshaft 28 can extend all the way to transducer 70 and functionally beused as shaft 93.

Shaft 93 is coupled at its second end 109 to transducer 70, which, inthe preferred embodiment, is an optical encoder sensor. The housing 111of transducer 70 is rigidly coupled to exterior sleeve 91 by a cap 115,and a shaft 113 of transducer 70 is coupled to interior shaft 93 so thattransducer 70 can measure the rotational position of shaft 93 and object44. In alternate embodiments, an actuator can also be included intransducer 70 to provide rotational forces about axis C to shaft 93.

FIG. 7 is a perspective view of an alternate embodiment of themechanical apparatus 25″ and user object 44 of the present invention.Mechanical apparatus 25″ shown in FIG. 7 operates substantially the sameas apparatus 25′ shown in FIGS. 3 and 4. User object 44, however, is astylus 102 which the user can grasp and move in six degrees of freedom.By “grasp”, it is meant that users may releasably engage a grip portionof the object in some fashion, such as by hand, with their fingertips,or even orally in the case of handicapped persons. Stylus 102 can besensed and force can be applied in various degrees of freedom by acomputer system and interface such as computer 16 and interface 14 ofFIG. 1. Stylus 102 can be used in virtual reality simulations in whichthe user can move the stylus in 3D space to point to objects, writewords, drawings, or other images, etc. For example, a user can view avirtual environment generated on a computer screen or in 3D goggles. Avirtual stylus can be presented in a virtual hand of the user. Thecomputer system tracks the position of the stylus with sensors as theuser moves it. The computer system also provides force feedback to thestylus when the user moves the stylus against a virtual desk top, writeson a virtual pad of paper, etc. It thus appears and feels to the userthat the stylus is contacting a real surface.

Stylus 102 preferably is coupled to a floating gimbal mechanism 104which provides two degrees of freedom in addition to the four degrees offreedom provided by apparatus 25′ described with reference to FIGS. 3and 4. Floating gimbal mechanism 104 includes a U-shaped member 106which is rotatably coupled to an axis member 108 by a shaft 109 so thatU-shaped member 106 can rotate about axis F. Axis member 108 is rigidlycoupled to linear axis member 40. In addition, the housing of atransducer 110 is coupled to U-shaped member 106 and a shaft oftransducer 110 is coupled to shaft 109. Shaft 109 is preferably lockedinto position within axis member 108 so that as U-shaped member 106 isrotated, shaft 109 does not rotate. Transducer 110 is preferably asensor, such as an optical encoder as described above with reference totransducer 70, which measures the rotation of U-shaped member 106 aboutaxis F in a fifth degree of freedom and provides electrical signalsindicating such movement to interface 14.

Stylus 102 is preferably rotatably coupled to U-shaped member 106 by ashaft (not shown) extending through the U-shaped member. This shaft iscoupled to a shaft of transducer 112, the housing of which is coupled toU-shaped member 106 as shown. Transducer 112 is preferably a sensor,such as an optical encoder as described above, which measures therotation of stylus 102 about the lengthwise axis G of the stylus in asixth degree of freedom.

In the described embodiment of FIG. 7, six degrees of freedom of stylus102 are sensed. Thus, both the position (x, y, z coordinates) and theorientation (roll, pitch, yaw) of the stylus can be detected by computer16 to provide a highly realistic simulation. Other mechanisms besidesthe floating gimbal mechanism 104 can be used to provide the fifth andsixth degrees of freedom. In addition, forces can be applied in threedegrees of freedom for stylus 102 to provide 3D force feedback. Inalternate embodiments, actuators can also be included in transducers 70,110, and 112. However, actuators are preferably not included for thefourth, fifth, and sixth degrees of freedom in the described embodiment,since actuators are typically heavier than sensors and, when positionedat the locations of transducers 70, 100, and 112, would create moreinertia in the system. In addition, the force feedback for thedesignated three degrees of freedom allows impacts and resistance to besimulated, which is typically adequate in many virtual realityapplications. Force feedback in the fourth, fifth, and sixth degrees offreedom would allow torques on stylus 102 to be simulated as well, whichmay or may not be useful in a simulation.

FIG. 8 is a perspective view of a second alternate embodiment of themechanical apparatus 25′″ and user object 44 of the present invention.Mechanical apparatus 25′″ shown in FIG. 8 operates substantially thesame as apparatus 25′ shown in FIGS. 3 and 4. User object 44, however,is a joystick 112 which the user can preferably move in two degrees offreedom. Joystick 112 can be sensed and force can be applied in bothdegrees of freedom by a computer system and interface similar tocomputer system 16 and interface 14 of FIG. 1. In the describedembodiment, joystick 112 is coupled to cylindrical fastener 64 so thatthe user can move the joystick in the two degrees of freedom provided bygimbal mechanism 38 as described above. Linear axis member 40 is nottypically included in the embodiment of FIG. 8, since a joystick is notusually translated along an axis C. However, in alternate embodiments,joystick 112 can be coupled to linear axis member 40 similarly to stylus102 as shown in FIG. 7 to provide a third degree of freedom. In yetother embodiments, linear axis member 40 can rotate about axis C andtransducer 70 can be coupled to apparatus 25′″ to provide a fourthdegree of freedom. Finally, in other embodiments, a floating gimbalmechanism as shown in FIG. 7, or a different mechanism, can be added tothe joystick to allow a five or six degrees of freedom.

Joystick 112 can be used in virtual reality simulations in which theuser can move the joystick to move a vehicle, point to objects, controla mechanism, etc. For example, a user can view a virtual environmentgenerated on a computer screen or in 3D goggles in which joystick 112controls an aircraft. The computer system tracks the position of thejoystick as the user moves it around with sensors and updates thevirtual reality display accordingly to make the aircraft move in theindicated direction, etc. The computer system also provides forcefeedback to the joystick, for example, when the aircraft is banking oraccelerating in a turn or in other situations where the user mayexperience forces on the joystick or find it more difficult to steer theaircraft.

FIG. 9 is a schematic view of a computer 16 and an interface circuit 120that may be used in interface 14 to send and receive signals frommechanical apparatus 25. Interface circuit 120 includes computer 16,interface card 120, DAC 122, power amplifier circuit 124, digitalsensors 128, and sensor interface 130. Optionally included are analogsensors 132 instead of or in addition to digital sensors 128, and ADC134. In this embodiment, the interface 14 between computer 16 andmechanical apparatus 25 as shown in FIG. 1 can be consideredfunctionally equivalent to the interface circuits enclosed within thedashed line in FIG. 14. Other types of interfaces 14 can also be used.For example, another type of interface circuit is described below withrespect to FIG. 20.

Interface card 120 can be implemented as a standard card which fits intoan interface slot of computer 16. For example, if computer 16 is anIBM-compatible X86 computer, interface card 14 can be implemented as anISA or other well-known standard interface card which plugs into themotherboard of the computer and provides input and output portsconnected to the main data bus of the computer.

Digital to analog converter (DAC) 122 is coupled to interface card 120and receives a digital signal from computer 16. DAC 122 converts thedigital signal to analog voltages which are then sent to power amplifiercircuit 124. A DAC circuit suitable for use with the present inventionis described with reference to FIG. 10. Power amplifier circuit 124receives an analog low-power control voltage from DAC 122 and amplifiesthe voltage to control actuators 126. Power amplifier circuit 124 isdescribed in greater detail with reference to FIG. 11. Actuators 126 arepreferably DC servo motors incorporated into the transducers 66 a, 66 b,and 68, and any additional actuators, as described with reference to theembodiments shown in FIGS. 3, 7, and 8 for providing force feedback to auser manipulating object 44 coupled to mechanical apparatus 25.

Digital sensors 128 provide signals to computer 16 relating the positionof the user object 44 in 3D space. In the preferred embodimentsdescribed above, sensors 128 are relative optical encoders, which areelectro-optical devices that respond to a shaft's rotation by producingtwo phase-related signals. In the described embodiment, sensor interfacecircuit 130, which is preferably a single chip, receives the signalsfrom digital sensors 128 and converts the two signals from each sensorinto another pair of clock signals, which drive a bi-directional binarycounter. The output of the binary counter is received by computer 16 asa binary number representing the angular position of the encoded shaft.Such circuits, or equivalent circuits, are well known to those skilledin the art; for example, the Quadrature Chip LS7166 from HewlettPackard, California performs the functions described above. Each sensor28 can be provided with its own sensor interface, or one sensorinterface may handle data from multiple sensors. For example, theelectronic interface described in parent patent U.S. Pat. No. 5,576,727describes a sensor interface including a separate processing chipdedicated to each sensor that provides input data.

Analog sensors 132 can be included instead of digital sensors 128 forall or some of the transducers of the present invention. For example, astrain gauge can be connected to measure forces on object 44 rather thanpositions of the object. Also, velocity sensors and/or accelerometerscan be used to directly measure velocities and accelerations on object44. Analog sensors 132 can provide an analog signal representative ofthe position/velocity/acceleration of the user object in a particulardegree of freedom. An analog to digital converter (ADC) can convert theanalog signal to a digital signal that is received and interpreted bycomputer 16, as is well known to those skilled in the art. Theresolution of the detected motion of object 44 would be limited by theresolution of the ADC.

FIG. 10 is a schematic view of a DAC circuit 122 of FIG. 9 suitable forconverting an input digital signal to an analog voltage that is outputto power amplifier circuit 124. In the described embodiment, circuit 122includes a parallel DAC 136, such as the DAC1220 manufactured byNational Semiconductor, which is designed to operate with an externalgeneric op amp 138. Op amp 138, for example, outputs a signal from zeroto −5 volts proportional to the binary number at its input. Op amp 140is an inverting summing amplifier that converts the output voltage to asymmetrical bipolar range. Op amp 140 produces an output signal between−2.5 V and +2.5 V by inverting the output of op amp 138 and subtracting2.5 volts from that output; this output signal is suitable for poweramplification in amplification circuit 124. As an example, R1=200 kΩ andR2=400 kΩ. Of course, circuit 122 is intended as one example of manypossible circuits that can be used to convert a digital signal to adesired analog signal.

FIG. 11 is a schematic view of a power amplifier circuit 124 suitablefor use in the interface circuit 14 shown in FIG. 9. Power amplifiercircuit receives a low power control voltage from DAC circuit 122 tocontrol high-power, current-controlled servo motor 126. The inputcontrol voltage controls a transconductance stage composed of amplifier142 and several resistors. The transconductance stage (commonly referredto as a Howland current pump) produces an output current proportional tothe input voltage to drive motor 126 while drawing very little currentfrom the input voltage source. The second amplifier stage, includingamplifier 144, resistors, and a capacitor C, provides additional currentcapacity by enhancing the voltage swing of the second terminal 147 ofmotor 146. As example values for circuit 124, R=10 kΩ, R2=500Ω R3=9.75kΩ, and R4=1Ω. Of course, circuit 124 is intended as one example of manypossible circuits that can be used to amplify voltages to driveactuators 126.

FIG. 12 is a perspective view of an alternate embodiment 200 of themechanical interface apparatus 25 of the present invention. Apparatus200 includes a gimbal mechanism 202 and an optional linear axis member204. User object 44 is preferably coupled to linear axis member 204.Alternatively, user object 44 can be coupled directly to the gimbalmechanism 202.

Gimbal mechanism 202 is similar in some respects to gimbal mechanism 38as described above with reference to FIG. 2. Gimbal mechanism 202 can besupported on a grounded surface 206 (schematically shown as part ofground member 208). Grounded surface 206 can be a tabletop or otherfixed, stable surface. The grounded surface can also be fixed relativeto only apparatus 200 such that the grounded surface and apparatus 200can be moved by user as an entire unit.

Gimbal mechanism 202 preferably includes a multi-segment flexure that isrotatably coupled to a ground member 208. Gimbal mechanism 202 includesa ground member 208, extension members 210 a and 210 b, and centralmembers 212 a and 212 b. Ground member 208, shown schematically, iscoupled to grounded surface 206 which provides stability for apparatus200. Ground member 208 is shown in FIG. 12 as two separate symbolscoupled together through grounded surface 206, but ground member 208 canbe considered to be one “member” that is grounded. An example of aground member 208 including members 60 and 62 is shown above in FIG. 3.It should be noted that members 210 a, 210 b, 212 a, and 212 b arereferred to herein as “members” due to the similarity of therotatably-coupled members described with reference to FIG. 2. However,these “members” of gimbal 202 can be considered “segments” of a“multi-segment flexure” or a “unitary member,” that is rotatably coupledto ground member 208.

The central members 212 a and 212 b are flexible members having atorsion flex (twist) and bending compliance so that the object 44 can bemoved in two or three degrees of freedom about axes A, B, and C, asexplained below. Axes A and B are fixed in position with respect to theground surface 206 (i.e., grounded) and are substantially mutuallyperpendicular. As described above with reference to FIG. 2, floatingaxes C, D and E are not fixed in one position as are axes A and B.Floating axes D and E are coincident with axes B and A, respectively,when the user object 44 is in a central position as shown in FIG. 12.Floating axis C preferably extends approximately through the point ofintersection P of axes A and B.

Extension member 210 a is rotatably coupled to ground member 206 at afirst end. In the example of FIG. 12, a rotary bearing 214 a is providedbetween the extension member 210 a and ground member 206 such that theextension member 210 a is rotatable about grounded axis A. For example,bearing 214 a can be part of a transducer 42 as described above, such asan actuator and/or a sensor. Such a transducer, for example, includes arotatable shaft to which the extension member 210 a can be rigidlycoupled. Extension member 210 a is a rigid member similar to theextension member 48 a as shown with respect to FIG. 2, and can be madeof a material such as rigid plastic, metal, or the like. Extensionmember 210 a rotates about axis A as shown by arrow 220.

The second end of extension member 210 a is rigidly coupled to a firstend of central member 212 a. Central member 212 a is aligned parallelwith a floating axis D and is made of a material such as flexibleplastic, rubber, metal, or the like, that provides torsion flex (twist)and bending in a particular desired degree of freedom. Compliance orflex can also be provided with spring members and the like. Herein, theterm “flex” is intended to refer to any sort of flexibility in a memberor segment. Types of flex described herein include twist (torsion flex)and bending. Twist is the torque twisting motion about a member'slengthwise axis, and bending is the relative movement of the two ends ofa member towards or away from each other.

In the described embodiment, central member 212 a can flex about thefloating axis D. As shown in FIG. 12, central member 212 a is relativelynarrow in the dimension that the central member is to flex, andrelatively wide in the dimensions in which the central member is desiredto remain rigid. Since the central member 212 a has a relatively largewidth in the dimensions of axes C and D, the member will not easily flexin those dimensions. However, the central member 212 a has a relativelysmall width in the dimension of a floating axis E, and is thus compliantin that dimension. This allows the central member 212 a to twist aboutfloating axis D, as shown by arrow 222, when object 44 is rotated aboutaxis D. This twisting motion substitutes for the rotary motion ofcentral member 50 a about axis D as allowed by rotary bearing 45 a, asdescribed above for FIG. 2. In addition to twisting about axis D,central member 212 a can bend in the plane of axes D and E. This bendingmotion substitutes for the rotary motion of the central member 50 aabout axis C as allowed by rotary bearing 47, as explained with respectto FIG. 2. Since central member 212 a can flex, this member is “flexiblycoupled” to extension member 210 a. In other embodiments, centralmembers 212 a and 212 b can be provided with other geometries that allowthe twisting and bending motions described above.

In the described embodiment, the second end of central member 212 a isrigidly coupled to object member 216, which is positioned about at thecenter point P at the intersection of axes D and E. Object member 216can support linear axis member 204 or user object 44. The size and shapeof object member 216 can vary widely in different embodiments. Objectmember 216 preferably includes an aperture through which a linear axismember 204 or user object 44 can translate. In alternate embodimentswhere object 44 does not translate, object member 216 can be omitted andthe second end of central member 212 a and the first end of centralmember 212 b can be directly and rigidly coupled to the user object 44,which can be placed at about the center point P at the intersection ofthe axes D and E. For example, in a joystick embodiment having twodegrees of freedom, a joystick handle can be coupled directly to centralmembers 212 a and 212 b (shown in FIG. 13).

Central member 212 b is similar to central member 212 a and includes afirst end that is rigidly coupled to object 216. Central member 212 b ispreferably aligned with floating axis E and is narrow in the dimensionof axis D and wide in the dimensions of axes E and C. This allows thecentral member 212 b to twist about floating axis E, as indicated byarrow 224. Central member 212 b may also bend in the plane of axes D andE. A first end of extension member 210 b is rigidly coupled to thesecond end of central member 212 b. Extension member 210 b is rigidsimilarly to extension member 210 a and extends in a fashion such thatthe second end of the extension member 210 b is positioned on axis B. Arotatable bearing 214 b is rotatably coupled to the second end ofextension member 210 b, thus allowing extension member 210 b to rotateabout axis B as indicated by arrow 226. As for bearing 214 a, bearing214 b can be part of a transducer such as a actuator or sensor. Bearing214 b is rigidly coupled to ground member 208 to complete the closedloop of members.

Gimbal mechanism 202 is formed as a closed chain or “flexure” of five“members.” Each end of one member is coupled to the end of anothermember. The flexure is arranged such that extension member 210 a,central member 212 a, and central member 212 b can be rotated about axisA in a first degree of freedom. The linkage is also arranged such thatextension member 210 b, central member 212 b, and central member 212 acan be rotated about axis B in a second degree of freedom. In thissense, the gimbal mechanism 202 is similar to mechanism 38 shown in FIG.2. When object 44 is moved, the bending ability of the central members212 a and 212 b cause the angle θ between the central members toincrease or decrease. For example, in the origin position shown in FIG.12, the angle θ is about 90 degrees. If object 44 is moved such that thetop of linear axis member 204 moves away from the viewer (“into” thepaper) or toward the viewer (out of the paper), then the angle θ betweenthe central members will decrease. Likewise, if the top of linear axismember 204 is moved to the sides as shown in FIG. 12, then the angle θwill increase.

A major difference of the present embodiment from the embodiment of FIG.2 is that members 210 a, 210 b, 212 a and 212 b can be provided as a“unitary member,” where these four members are formed and producedcoupled together as segments of a single part or “flexure.” Gimbalmechanism 202 can thus also be considered a closed loop two memberlinkage, where one member is a complex unitary member (including thesefour segments) and the other member is ground member 208 that isrotatably coupled to the unitary member.

Since the members 210 a, 210 b, 212 a, and 212 b are formed as a unitarypart, bearings or joints between these members do not need to beseparately manufactured and the extensive assembly process for thesemembers is not necessary. In contrast, the embodiment of FIG. 2 requiresjoints between equivalent members to these four members to be producedand for these joints and members to be assembled and fastened together.In consequence, the gimbal mechanism 202 is significantly less expensiveto produce than the mechanism 25 of FIG. 2. This allows the mechanicalapparatus 200 to be manufactured and provided to the high-volumeconsumer market while still providing an accurate and realistic forcefeedback interface to the user. In other embodiments, some of themembers 210 a, 210 b, 212 a, and 212 b can be formed together as unitarymembers and some members can be formed separately. For example,extension member 210 a and central member 212 a can be formed togetheras segments of one unitary member, while extension member 210 b andcentral member 212 b can be formed together as segments of a secondunitary member. Alternatively, central members 212 a and 212 b can beformed together as a unitary member (with or without object member 216formed between them).

Linear axis member 204 is preferably an elongated rod-like member whichis translatably coupled to central member 212 a and central member 212 bnear the point of intersection P of axes D and E, and is similar tolinear axis member 40 described with reference to FIG. 2. Linear axismember 204 can be used as the object 44 or as part of the object 44, asin shaft 28 of user object 44 as shown in FIG. 1, or as a joystickhandle, pool cue, etc. In other embodiments, linear axis member 204 canbe coupled between an object 44 and gimbal mechanism 202. Linear axismember 204 is coupled to gimbal mechanism 202 such that it extends outof the plane defined by floating axis D and floating axis E. Linear axismember 204 can be rotated about axis E by rotating extension member 210a, central member 212 a, and central member 212 b in a first revolutedegree of freedom, shown as arrow line 230. Member 204 can also berotated about axis D by rotating extension member 212 b and the twocentral members about axis D in a second revolute degree of freedom,shown by arrow line 232.

Being translatably coupled to object member 216 (or the ends of centralmembers 210 a and 210 b), linear axis member 204 can be linearly andindependently translated along floating axis C with respect to thegimbal mechanism 202, thus providing a third linear degree of freedom asshown by arrows 234. Axis C can, of course, be rotated about one or bothaxes A and B as member 204 is rotated about these axes. A transducer canalso be coupled to linear axis member 204 for the linear degree offreedom along axis C. The transducer can include an actuator forapplying forces in the linear degree of freedom, and/or a sensor fordetecting the position of the linear axis member in the linear degree offreedom. Such transducers are described in greater detail in the aboveembodiments.

In addition, a rotary fourth degree of freedom can be provided to linearaxis member 204 (and/or object 44) by rotating or “spinning” the linearaxis member about axis C, as indicated by arrow 236. This fourth degreeof freedom can be provided by spinning linear axis member 204 within arotatable bearing of object member 216. Alternatively, a more limitedform of spin can be provided by bending the central members to spin theentire object 44 and object member 216. This is described in greaterdetail with respect to FIG. 13. In addition, transducers can be providedto apply forces and/or sense motion in the rotary fourth degree offreedom, as described in previous embodiments.

Also preferably coupled to gimbal mechanism 202 and linear axis member204 are transducers, such as sensors and actuators. Such transducers arepreferably included as part of the bearings 214 a and 214 b and provideinput to and output from an electrical system, such as computer 16.Transducers that can be used with the present invention are describedabove with respect to FIG. 3. In addition, strain gauges can be used onthe flexible members of the present embodiment (and other embodimentshaving flexible members) to measure the degree of bending and flex of aselected member. For example, the strain gauge can be placed over thelength of a central member 212 a or 212 b to measure the member'sposition or the force applied to the member.

User object 44 is coupled to gimbal mechanism 202 either directly or vialinear axis member 204. One possible user object 44 is the grip 26 of alaparoscopic tool 18, as shown in FIG. 1, where the shaft 28 of tool 18can be implemented as part of linear axis member 40. Other examples ofuser objects include a joystick, as described below.

FIG. 13 is a top plan view of mechanical apparatus 200 of FIG. 12. AxesA and B are shown substantially perpendicular to each other. If linearaxis member 204 is rotatably coupled to object member 216, then a fourthdegree of freedom about axis C can be provided. However, in otherembodiments, linear axis member 204 can be rigidly coupled to objectmember 216 in the degree of freedom providing the spin about axis C.This spin can still be provided by flexing central members 212 a and 212b. This is shown in FIG. 13, where the solid line representation ofobject member 216 and central members 212 a and 212 b show these membersin a center, neutral position. Dashed line representation 238 showsobject member 216 in a rotated position after the object member 216 andlinear axis member 204 have been rotated counterclockwise as shown byarrows 240. Central members 212 a and 212 b have flexed to allow thisrotation to take place, as shown by the dotted lines. Thus, depending onthe particular flexibility of central members 212 a and 212 b, thelinear axis member 204 and object 44 can be rotated in a limited amountclockwise or counterclockwise about axis C.

In should be noted that, in some embodiments, the linear axis member 204can be translatable in a third degree of freedom while being “rigidly”coupled to the object member 216 with respect to the fourth degree offreedom (spin). This would allow the linear axis member to be translatedalong axis C but would prevent the linear axis member from spinningindependently of the object member. Such an embodiment can beimplemented, for example, by including one or more grooves within thecentral aperture of the object member 216 oriented along axis C. Thelinear axis member could include a corresponding number of catch membersthat engage the grooves to allow translation but not rotation withrespect to the object member 216.

FIG. 14 is a perspective view of an alternate embodiment 200 b of themechanical apparatus 200 shown in FIG. 12. Apparatus 200 b includes agimbal mechanism 202 b that is similar to gimbal mechanism 202 andincludes ground member 208 (shown schematically coupled to groundsurface 206), rigid extension members 210 a and 210 b, and flexiblecentral members 212 a and 212 b. In the embodiment of FIG. 14, however,central member 212 a and central member 212 b are rigidly coupled toobject 44, which is shown as a joystick 240. Object 44 thus may nottranslate along axis C in this embodiment. Object 44, however, canrotate in a limited angular range about axis C as explained above withreference to FIG. 13. In addition, the extension members 210 a and 210 bof mechanism 202 b are shown in a slightly different position to thoseof mechanism 202. Extension member 210 b has been “flipped” to becoupled to object 44 via central member 212 b the opposite side of theobject. Either this configuration or the configuration shown in FIG. 12may be used without significant functional differences.

Furthermore, an additional transducer 214 c is shown coupled to one endof the object 44. Transducer 214 c is preferably grounded to groundmember 208 (or a different member that is coupled to ground). Transducer214 c can include an actuator, such as a motor or brake, for impartingforces on object 44 in the rotary degree of freedom about axis C, and/ora sensor for detecting the motion and position of object 44 in the samerotary degree of freedom. These components are described in greaterdetail in the above embodiments. This embodiment thus can provide threegrounded actuators, which provides more accurate force feedback sincethe actuators are not carrying the weight of any other actuators.Transducer 214 c is coupled to object 44 by a torsion resistant flexure242, which flexes to allow the object 44 to rotate about axes A and Bbut does not flex about axis C (i.e., resists torsion forces). Flexure242 may rotate with a shaft of transducer 214 c and thus allow theobject 44 to rotate about axis C. The flexure may relay forces andpositions of object 44 about axis C even when the flexure is in a flexedposition. Such a flexure can take many possible forms, such as a coil orspring, as are well known to those skilled in the art. The groundedtransducer 214 c and flex coupling 242 can also be coupled to object 44in other embodiments disclosed herein. In yet other embodiments, torsionresistant flexure 242 can couple object 44 directly to ground member 208(or ground surface 206), i.e., transducer 214 c is omitted. In such anembodiment, object 44 cannot rotate about axis C due to the flexure'sresistance to motion in that degree of freedom.

In addition, in other embodiments having a user object 44 translatablealong axis C, the torsion resistant flexure 242 can allow suchtranslation. Flexure 242 can be hollow, e.g., the interior space of acoil or spring. A linear axis member 204 or other thin object 44 can betranslated through the hollow portion of the flexure 242.

In yet other embodiments in which object 44 does not translate alongaxis C, object 44, such as a joystick handle, can be extended andcoupled to ground member 208 or ground surface 206. For example, a balljoint can be used to provide freedom of motion to object 44 and yetstabilize the object. A sphere, or a portion of a sphere, can beprovided on the end of object 44 and fitted to a receiving socketpositioned on ground surface 206, as is well known to those skilled inthe art. Such a joint is shown and described with reference to FIGS. 22aand 22 b. The ball joint allows object 44 to be moved about either axisD or E.

FIG. 15 is a perspective view of a third embodiment 200 c of themechanical apparatus 200 shown in FIG. 12. Apparatus 200 c includes agimbal mechanism 202 c that includes ground member 208 (shownschematically coupled to ground surface 206) and rigid extension members210 a and 210 b, similar to equivalent members shown in FIGS. 12 and 14.Gimbal mechanism 202 c also includes three flexible central members 212a, 212 b, and 212 c. Central members 212 a and 212 b are similar to thecentral members described above with respect to FIGS. 12 and 13, wherethe members are both wide in the dimension of axis C and narrow in therespective dimensions in which the members may be twisted, i.e., centralmember 212 a has a small width in the dimension of axis A so that themember can be twisted about axis B and bent in the plane of axes D andE. Central members 212 a and 212 b couple the object 44 to the extensionmembers 210 a and 210 b and allow the object 44 to rotate about axes Aand B (and floating axes D and E).

Central member 212 c is coupled between object member 216 (or object 44)and extension member 210 a along axis A and floating axis E. Member 212c is flexible like members 212 a and 212 b, but has a small width in thedimension of the C axis and a relatively large width in the dimensionsof axes A and B. These dimensions allow flexible member 212 c to twistabout axes E and A and bend in the plane of axes A and C. Since flexiblemember 212 a also twists about axes A and E, object 44 can be rotatedabout axes A and E. However, the relatively large width of flexiblemember 212 c in the plane defined by axes A and B prevents object member216 from rotating about axis C. This structure provides more stiffnessand stability to object 44 in the object's rotation about axes A and E.

Alternatively, a flexible member 212 d can be provided instead offlexible member 212 c. Member 212 d couples object member 216 and object44 to extension member 210 a on the opposite side of object 44 fromflexible member 212 b. Member 212 d is wide in the dimensions of axes Aand B and narrow in the dimension of axis C. Member 212 d may twistabout axes B and D, and bend in the plane of axes B and C, thusproviding object 44 a rotary degree of freedom about axes B and D. Thelarger width of member 212 d in the A-B plane prevents object member 216from rotating about axis C. Typically, only member 212 d or 212 c isnecessary for stability reasons. Both members 212 c and 212 d can beprovided in alternate embodiments.

Since object member 216 cannot flexibly rotate about axis C in thisembodiment, object 44 can be rotatably coupled to object member 216 toallow the object 44 to spin about axis C, if desired. In otherembodiments where object 44 is not desired to spin, the object 44 can bedirectly coupled to flexible members 212 a-c. In the embodiment of FIG.15, object 44 can also be translated along axis C in a linear degree offreedom, as described above with respect to FIG. 12. A third groundedtransducer 214 c can also be coupled to object 44 as shown in FIG. 14.

FIG. 16 is a perspective view of a fourth embodiment 200 d of themechanical apparatus 200 shown in FIG. 12. Apparatus 200 d includes agimbal mechanism 202 d that includes ground member 208 (shownschematically coupled to ground surface 206) and rigid extension members210 a and 210 b. These members are similar to the equivalent members asdescribed above with respect to FIG. 2. Gimbal mechanism 202 d alsoincludes two flexible central members 212 a and 212 b. Central members212 a and 212 b are similar to the central members described above withrespect to FIGS. 12 and 13, where the members are both wide in thedimension of axis C and narrow in the respect dimensions in which themembers may be rotated. Central members 212 a and 212 b couple theobject 44 to the extension members 210 a and 210 b and allow the object44 to rotate about axes A and B (and floating axes D and E).

A difference in the embodiment of FIG. 16 is that flexible members 212 aand 212 b are rigidly coupled to object 44 (or object member 216) andare rotatably coupled to extension members 210 a and 210 b,respectively, by bearings 213 a and 213 b. This allows the flexiblemembers to bend and change the angle θ with respect to each other due toflexure when object 44 is rotated about axes A and B. However, since theflexible members 212 a and 212 b are rotatably coupled to the extensionmembers, they will not twist when object 44 is moved, but will rotate.The flexure only comes into effect at the ends of flexible members 212 aand 212 b that are coupled to object 44 or object member 216. Thisconfiguration is a compromise between the configurations of FIGS. 2 and12 and provides more parts and assembly complexity than the embodimentof FIG. 12 due to the extra required bearings 213 a and 213 b. However,this embodiment allows the flexible members 212 a and 212 b to rotatemore easily and thus provides more realistic force feedback to the user.

FIG. 17 is a perspective view of a fifth embodiment 200 e of themechanical apparatus 200 shown in FIG. 12. Apparatus 200 e includes agimbal mechanism 202 e which includes a ground member 208, extensionmembers 210 a and 210 b, and flexible central members 212 a and 212 bcoupled together similarly to the above embodiments. In most respects,apparatus 200 e functions similarly to apparatus 200 of FIG. 12.Flexible members 212 a and 212 b are rigidly coupled to extensionmembers 210 a and 210 b, respectively, as in the embodiment of FIG. 12.However, the flexible members are rotatably coupled to object 44 viabearing 215. Bearing 215 provides a rotatable connection between centralmembers 212 a and 212 b and to object 44 (or linear axis member 204),thus allowing the object or linear axis member to rotate or spin aboutaxis C. When the object 44 is rotated about axes A and B (and D and E),the angle θ between the central members changes due to rotation ofbearing 215 instead of due to the bending of the members. The flexiblemembers 212 a and 212 b twist due to being rigidly coupled to bearing215 and extension members 210 a and 210 b. This configuration, like theconfiguration of FIG. 16, is a compromise between the embodiments ofFIGS. 2 and 12 which is more costly than the embodiment of FIG. 12, butalso provides more realistic forces to the user.

FIG. 18 is a perspective view of mechanical apparatus 25 (or 200) inwhich a voice coil actuator 240 acts as an actuator 126 to apply forcesto object 44 in a degree of freedom. Voice coil actuators have been usedin the prior art in a single degree of freedom for disk drives andsimilar rotating devices. Voice coil actuator 240 includes a pendulumshaft 242, a pendulum head 244, a magnetic assembly 246, and a magneticflux guide 247. Pendulum shaft 242 is rigidly coupled to extensionmember 48 a such that when extension member 48 a rotates about axis B,pendulum shaft 242 also rotates about axis B. Pendulum head 244 iscoupled to shaft 242 and rotates with the shaft. Pendulum head 244 ispositioned between two magnets, 248 of magnet guide 246. Preferably,pendulum head extends out from and is exposed partially on both sides ofthe magnet assembly 246.

As shown in the side sectional view of FIG. 19a and the top sectionalview of FIG. 19b, pendulum head 244 is positioned between magnets 248 aand 248 b and is thus affected by the magnetic fields of both magnets.Magnets 248 a and 248 b each include north polarity surfaces 250 andsouth polarity surfaces 252, thus providing four magnetic polarities tothe interior region 255 of the guide 47 (opposite polarities areprovided on opposing surfaces of magnets 248). In alternate embodiments,four different magnets can be provided (two north polarity magnets, andtwo south polarity magnets.) In yet another embodiment, one magnet 248 aor 248 b can be provided, and the other magnet can be a similarly-shapedpiece of metal that provides a flux return path. Preferably, a smallamount of space 249 is provided between the magnet surfaces and thependulum head 244. Magnetic flux guide 247 is a housing that allowsmagnetic flux to travel from one end of the magnets 248 to the otherend, as is well known to those skilled in the art.

Pendulum head 244 includes a coil of wire 256 which is preferably woundaround the perimeter of the pendulum head. An electric current I isflowed through the coil 256 via electrical connections 257. As is wellknown to those skilled in the art, the electric current in the coilgenerates a magnetic field. The magnetic field from the coil theninteracts with the magnetic fields generated by magnets 248 to produce amotion. The motion or torque of the pendulum head 244 is indicated byarrows 258. The magnitude or strength of the torque is dependent on themagnitude of the current that is applied to the coil. Likewise, thedirection of the torque depends on the direction of the current to thecoil. The operation and implementation of such pendulum movement frommagnetic fields is well known to those skilled in the art.

Thus, by applied a desired current magnitude and direction, force can beapplied to pendulum head 244, thereby applying force to pendulum shaft242 and torque to extension member 48 a. This in turn applies a force toobject 44 in the rotary degree of freedom about axis B (and axis D). Thevoice coil actuator thus may be provided as a substitute for otheractuators such as DC motors and brakes having rotatable shafts. A voicecoil actuator can be provided for each degree of freedom of mechanicalapparatus to which force is desired to be applied. For example, a secondvoice coil 240 is preferably coupled to extension member 48 a in asimilar manner to apply forces to object 44 in the rotary degree offreedom about axes A and E. In addition, the other embodiments ofmechanical apparatus 25 as shown in FIGS. 12-17 can use the voice coilactuator 240 as an actuator. Also, other known mechanical interfacedevices, such as slotted yoke mechanisms or other gimbal mechanisms, canuse voice coils to provide force feedback to a user of the interface indesired degrees of freedom.

In addition, the voice coil actuator 240 can be used as a sensor. Asecond coil, having an appropriate number of loops, can be placed onpendulum head 244. Motion about axis B within magnetic field induces avoltage across the second coil. The voltage can be sensed across thissecond coil. This voltage is proportional to the rotational velocity ofthe pendulum head 244. From this derived velocity, acceleration orposition of the pendulum head can be derived using timing information,for example, from a clock (described below). Alternatively, the coil 256can be used for both applying forces and sensing velocity, as is wellknown to those skilled in the art.

The voice coil actuator 240 has several advantages. One is that alimited angular range is defined for a particular degree of freedom ofobject 44 by the length of the magnetic assembly 246. In many interfacedevices, such as joysticks, such a limited angular range is desired tolimit the movement of object 44. Also, the voice coil actuator providesgood mechanical advantage due to the larger radius of the magneticassembly 246. Thus, when using voice coil actuators for transducers 42,a capstan drive as described above with respect to FIG. 5, or frictiondrive as described below, are not necessary. Also, control of the voicecoil actuator is simpler than other actuators since output torque is alinear function of input coil current. In addition, since voice coilactuators do not require mechanical or electrical commutation as doother types of motors, the voice coil actuator has a longer lifeexpectancy, less maintenance, and quiet operation. The actuation isfrictionless, resulting in greater haptic fidelity. Finally, the partsfor voice coil actuators are inexpensive to produce and are readilyavailable, resulting in a low cost way to provide realistic forcefeedback.

Alternatively, a linear voice coil can be used to provide forces in anddetect motion in a linear degree of freedom. A linear voice coil hasmagnets similar to magnets 248 described above, except that they form alinear channel through which a coil head (similar to pendulum head 244)translates. Such a linear voice coil is described with reference toFIGS. 21a-b and 22 a-e and can be used, for example, with thetranslating motion of linear axis member 40 or 204 and/or object 44along axis C.

FIGS. 20a-20 e are schematic views of an alternate embodiment 240′ of avoice coil actuator for use in the present invention. Pendulum head 244′is an alteration of the pendulum head 244 of FIGS. 19a and 19 b. Coil260 is positioned around the perimeter of pendulum head 244′ andincludes multiple separate “sub-coils” of wire. Terminals 261 include aset of terminals for each different sub-coil in pendulum head 244′.These different sub-coils are shown in FIGS. 20b-20 e.

FIG. 20b shows one sub-coil 262 that forms one loop around the perimeterof head 244′. FIG. 20c shows a sub-coil 264 that forms two loops, andFIG. 20d shows a sub-coil 266 that forms four loops. Finally, FIG. 20eshows a sub-coil 268 that forms eight loops of wire. All of thesesub-coils can be provided on pendulum 244′ as coil 260. Each sub-coilshown in FIGS. 20b-20 e includes its own set of terminals 261 to beconnected to a source of current I.

Using, for example, the four different sub-coils shown in FIGS. 20b-20e, different magnetic fields can be induced for the pendulum head 244′and thus different torques can be applied to the pendulum. A fixedcurrent can be selectively provided to each sub-coil using one or moreswitches connected to the sub-coils. Since the magnetic fields fromselected sub-coils will interact to create larger or smaller magneticfields, a variety of different torques can be provided. There are fourdifferent sub-coils, where each sub-coil produces a torque that is afactor of 2 greater than the previous coil. Thus, a total of 2⁴=16different torques can be produced with a constant-magnitude current ineach sub-coil. Since the direction of the current can be switched tocreate torques in the opposite direction, the total number of torquesthat can be produced is equal to 31. In other embodiments, a differentnumber of sub-coils can be used. Reduced to a general rule, a voice coilactuator having N sub-coils, each of which can be driven in one of threestates (positive polarity, 0, negative polarity) can produce 2^(N+1)−1torque values.

This scheme is readily applicable to a digital system using on and offswitches. For example, each sub-coil can be provided with a set of fourswitches (commonly referred to as an “H-bridge”) to select the directionof the current in the sub-coil. An advantage of this alternateembodiment is that the current magnitudes need not be varied, allowingfor less complex electronics and a scheme easily adaptable to digitalsignals.

In other embodiments, additional sets of coils can be provided to createadditional torque values. For example, another set of four sub-coils,identical to the set described above, can be added to coil 260 andoriented so that the second set of sub-coils creates torques in theopposite direction to the first set. With additional coils, the numberof switches can be reduced. In yet other embodiments, the coils can beprovided as traces on a printed circuit board for easy manufacture.

FIG. 21a is a perspective view of an interface system 270 in which twolinear degrees of freedom are provided to user object 44 and linearvoice coil actuators 272 a and 272 b are used to apply forces to theuser object. Computer 16 (not shown) is preferably coupled to the voicecoil actuators to apply current as desired.

A side sectional view of an example of a linear voice coil actuator 272a is shown in FIG. 21b. Linear voice coil actuator 272 a is a groundedactuator and include a cylindrical magnetic flux housing 274 a and acoil head 276 a. Housing 274 a can be made of iron or other ferrousmetal and includes a radially polarized, tubular magnet 275 a (which,alternatively, can be made up of multiple, smaller magnets) positionedalong the inside length of the housing and which are radiallymagnetized. In addition, a core portion 277 a of housing 274 apreferably extends down the center of housing 274 a through the centerof coil head 276 a. Coil head 276 a includes a coil 278 a which iswrapped around the coil head, similar to the coil 256 of FIG. 19a. Anoptional coil support 281 a can be provided around which to wrap coil278 a. The coil head 276 a moves within the housing 274 a along a lineardegree of freedom, indicated by arrows 279, when a current is flowedthrough coil 278 a, similarly as described above. The direction of thecoil head 276 a depends on the direction of the applied current. Inaddition, the linear voice coil actuator can be used to sense theposition of coil head 276 a along the linear degree of freedom bysensing velocity as described above with reference to FIGS. 19a and 19b. Alternately, separate linear motion sensors can be coupled to theobject 44 or other members; such linear sensors are well known to thoseskilled in the art. In other embodiments, the coil head 276 a can bemade longer than the housing 274 a. Linear voice coil actuators are wellknown to those skilled in the art and are described in Precision MachineDesign, by Alexander Slocum, Prentice Hall, 1992, page 64.

Referring back to FIG. 21a, coil head 276 a is preferably coupled to afirst end of a shaft 282 a, and a second end of shaft 282 a is coupledto a first end of a joint member 284 a. A rotary joint 283 a couplesshaft 282 a to joint member 284 a and allows joint member 284 a torotate about floating axis Z₁. A second end of joint member 284 a isrotatably coupled to a second end of joint member 284 b by a rotaryjoint 286. User object 44 is preferably coupled to joint member 284 b(or, alternatively, 284 a). Linear voice coil actuator 272 b hasequivalent components to actuator 272 a as shown in FIG. 21b. Jointmember 284 b can thus rotate about floating axis Z₂. The second end ofjoint member 284 b is rotatably coupled to the second end of jointmember 284 a by rotary joint 286, which provides an axis of rotation Z₃.

Object 44 can be translated by a user along linear axis X or linear axisY, or along a combination of these axes. When object 44 is moved alongaxis X toward or away from housing 274 a, then coil head 276 a, shaft282 a, and joint member 284 a are correspondingly moved toward or awayfrom housing 274 a and retain the same relative position as shown inFIG. 21a. However, joint member 284 b rotates about floating axis Z₂ andfloating axis Z₃ in accordance with the movement of joint member 284 a.Likewise, when object 44 is moved along axis Y toward or away fromhousing 272 b, then coil head 276 b, shaft 282 b, and joint member 284 bare correspondingly moved toward or away from housing 272 b and retainthe relative positions as shown in FIG. 21a. Joint member 284 a rotatesabout floating axes Z₁ and Z₃ in accordance with the movement of jointmember 284 b. When object 44 is moved simultaneously along both axes Xand Y (e.g., object 44 is moved diagonally), then both joint members 284a and 284 b rotate about their respective axes and axis Z₃.

Shafts 282 a and 282 b and joint members 284 a and 284 b can berectilinear members that may be rotatably coupled to each other at flatsurfaces of the members with rotary couplings or hinges 283 a, 283 b,and 286. In the described embodiment, one joint member 284 a is coupledunder shaft 282 a and the other joint member 284 b is coupled over shaft282 b. Alternatively, the shafts and joint members can be coupledtogether in many different configurations.

FIG. 21c is a schematic diagram of an alternate embodiment 270′ of theinterface system 270 shown in FIG. 21a. In FIG. 21c, two linear voicecoil actuators 272 a and 272 b as shown in FIG. 21a are included toapply forces and sense positions in two linear degrees of freedom toobject 44. Voice coil actuator 272 a includes housing 274 a, coil head276 a, and shaft 282 a, and actuator 272 b includes equivalentcomponents. Computer 16 (not shown) is preferably coupled to the voicecoil actuators to apply current as desired.

As in FIG. 21a, coil heads 276 a and 276 b translate along lineardegrees of freedom, indicated by arrows 279, within housings 274 a and274 b, respectively. Current can be applied by computer 16 to applyforce to the coil heads or sense velocity.

Shaft 282 a is coupled to a flexible member 288 a. Flexible members 288a and 288 b are preferably made of a resilient material such as flexibleplastic, rubber, metal, or the like and can flex similarly to theflexible members described above with respect to FIG. 12. As describedabove, flexible members 288 a and 288 b are preferably narrow in thedimension that the rod is to bend, and wide in the dimensions in whichthe rod is to remain rigid. Shaft 282 a is a rigid member that couplesmember 288 a to coil head 276 a, and can be provided with differentlengths in different embodiments. Flexible member 288 a is rigidlycoupled to an object member 289 at the other end of the flexible member.Member 289 can be a part of object 44 or a platform or other base forsupporting object 44. Shaft 282 b is coupled to object 44 throughflexible member 288 b in a similar manner. Flexible member 288 b iscoupled to object member 289 at its other end.

Object 44 can be moved by a user along linear axis X or linear axis Y.Flexible members 288 a and 288 b flex (bend) appropriately as the objectis moved. For example, if object 44 and member 289 are moved along axisX, flexible member 288 a does not bend since the direction of movementis directed down (substantially parallel to) the longitudinal axis offlexible member 288 a. However, since housing 274 b is grounded andfixed in place relative to object 44, flexible member 288 a bends towardor away from actuator 272 a (depending on the object's direction alongaxis X) to allow the translation of object 44. This occurs when thedirection of movement of object 44 is substantially perpendicular to thelongitudinal axis of flexible member 288 a. Likewise, when object 44 istranslated along axis Y in the other linear degree of freedom, flexiblemember 288 b does not flex since the direction of movement is directedsubstantially parallel to the longitudinal axis of flexible member 288b. Flexible member 288 a, however, bends toward or away from actuator272 b to allow the translation of object 44. When object 44 is movedsimultaneously along both axes X and Y (e.g., object 44 is moveddiagonally), then both flexible members 288 a and 288 b flex inconjunction with the movement. It should be noted that the flexiblemembers 288 a and 288 b do not need to twist (i.e. provide torsion flex)like the flexible members of FIG. 12. Only a bending motion is requiredof members 288 a and 288 b in the embodiment of FIG. 21c.

FIG. 22a is a top plan view and FIG. 22b is a side elevational view ofan interface apparatus 300 including voice coil actuators similar tothose described above with reference to FIGS. 18, 19 a, and 19 b.Interface apparatus 300 includes user object 44, a ball joint 302, asocket 304, a drive pin 306, a circuit board 308, and voice coilactuators 310 a and 310 b. User object 44 is shown as a joystick that iscoupled to ball joint 302. User object 44 has two rotary degrees offreedom about axis X and axis Y, respectively, as indicated by arrows312 and 314. These degrees of freedom result from ball joint 302rotating within socket 304. Socket 304 is grounded and remainsstationary relative to user object 44, ball joint 302, and the othermoving components of apparatus 300. Ball socket 302 is shown as apartial sphere with a portion of the sphere cut off. Other similar typesof joints can be used in other embodiments.

Drive pin 306 is coupled to ball joint 302 and extends along an axis Zout of the plane defined by axes X and Y. Drive pin 306 extends throughan aperture 316 in a circuit board 308. Preferably, a grommet 322 madeof rubber or a similar compliant material is positioned between thedrive pin 306 and the circuit board 308. Alternatively, open space canbe provided between he pin and the board. Circuit board 308 ispositioned in a plane substantially parallel to the X-Y plane andfloats, i.e., circuit board 308 is not grounded. Board 308 is preferablyguided by guides 318, which serve to keep circuit board 308substantially within the plane parallel to the X-Y plane and allow thecircuit board to translate in that plane, as shown by arrows 320. Guides318 are shown as round, cylindrical members, but have a variety ofshapes in alternate embodiments. In this embodiment, circuit board 308translates in linear degrees of freedom, while user object 44 rotates inrotary degrees of freedom.

Circuit board 308 is provided in a substantially right-angle orientationhaving one extended portion 324 at 90 degrees from the other extendedportion 324 b. In alternate embodiments, circuit board 308 can beprovided as other shapes. Voice coil actuators 310 a and 310 b arepositioned on circuit board 308 such that one actuator 310 a is providedon portion 324 a and the other actuator is provided on portion 324 b.Wire coil 326 a of actuator 310 a is coupled to portion 324 a of circuitboard 308. Preferably, wire coil 324 a includes at least two loops andis etched onto board 308 as a printed circuit board trace usingwell-known techniques. Terminals 328 a are coupled to actuator driversof actuator interface 414, as described below, so that computer 16 (ormicroprocessor 410) can control the direction and/or magnitude of thecurrent in wire coil 326 a. In alternate embodiments, additional coilscan be provided on portion 324 a for sensing velocity and/orimplementing the alternate embodiment of FIGS. 20a-20 e.

Voice coil actuator 310 a also includes a magnet assembly 330 a, whichpreferably includes four magnets 332 and is grounded. Alternatively, twomagnets with two polarities each can be included. Each magnet has anorth polarity N and a south polarity S on opposing sides of the magnet.Opposite polarities of magnets 332 face each other such that coil 326 ais positioned between opposing polarities on either side of the coil.The magnetic fields from magnets 332 interact with the magnetic fieldproduced from wire coil 326 a when current is flowed in coil 326 asimilarly as described above with reference to FIGS. 19a and 19 b toproduce a linear force to circuit board 308 in a direction parallel toaxis Y, as shown by arrow 320 a. The circuit board 308 and wire coil 326a are moved parallel to axis Y until coil 326 a is moved out from underthe magnet 332 on the side where the coil was moved. For example,circuit board 308 can be moved to the limits shown by dotted lines 334.Alternatively, physical stops can be positioned at the edges of theboard 308 to provide this movement limit. When circuit board 308translates along axis Y due to forces generated by voice coil actuator310 a, drive pin 306 is also moved through contact with board 308 (andgrommet 322). This, in turn, rotates ball joint 302 within socket 304and moves user object 44 so that the user feels the forces in the rotarydegree of freedom about axis X, as shown by arrows 312. The movement ofuser object 44 can be limited by stops positioned outside the edge ofcircuit board 308 and/or by stops placed on ball joint 302 to limit themovement of object 44.

Voice coil actuator 310 a can also be used, as described in aboveembodiments, to sense the velocity of circuit board 308 along axis Y asthe user moves user object 44 about axis X and to derive position andother values from that velocity. However, since the voice coil actuatorsproduce analog sensor values, subject to noise, and the filtering ofsuch noise typically requires expensive components, it is preferred thatseparate digital sensors be used to sense the position, motion, etc. ofobject 44 for low cost interface devices. For example, a lateral effectphoto diode sensor 338 can be used. Sensor 338 can include a rectangulardetector 340 positioned in a plane parallel to the X-Y plane onto whicha beam of energy 342 is emitted from a grounded emitter 344. Theposition of the circuit board 308, and thus the position of object 44,can be determined by the location of the beam 342 on the detector.Alternatively, other types of sensors can be used, such as an opticalencoder having a rotating shaft coupled to a roller that is frictionallyengaged with circuit board 308.

Voice coil actuator 310 b operates similarly to actuator 310 a. Acurrent is flowed through coil 326 b to induce magnetic forces thattranslate circuit board 308 in a direction parallel to axis X, as shownby arrow 320 b. This moves drive pin 306 and causes forces to be appliedto user object 44 in the rotary degree of freedom about axis Y, as shownby arrows 314. A separate sensor can also be provided for the motion ofobject 44 about axis Y, or a single sensor 338 can be used to detectmotion in both degrees of freedom.

Optionally, an anti-rotation flexure 336 can be coupled between agrounded surface and circuit board 308. This flexure 336 preferablyprevents board 308 from rotating about axis Z in the plane parallel tothe X-Y plane. In addition, flexure 336 can provide a restoring forcethrough circuit board 308 to object 44 to bring the object back to acenter position as shown in FIG. 22b when no other forces are beingapplied to the object. Flexure 336 can be a helical spring-like member(as shown), an Oldham style shaft coupling (allowing slotted movement),or a flexure assembly similar to the one shown in FIG. 22c. The flexurecan take other forms in other embodiments.

The embodiment of FIGS. 22a and 22 b has several advantages. One is thatthe coils 326 a and 326 b can be etched directly onto circuit board 308,thus avoiding assembly time in wrapping a separate wire. In addition,the preferred voice coil driver chips (described with reference to FIG.24), as well as other electronic components of interface 14 or 14′, canbe coupled directly to circuit board 308 and interconnected with traceson board 308. This provides a simple and low cost method to manufactureand provide the electronic components of the interface apparatus.

FIG. 22c is a top plan view of an alternate embodiment of the interfaceapparatus 300 shown in FIG. 22a, in which a different anti-rotationflexure 336′ is used instead of the helical flexure 336 shown in FIG.22b. Anti-rotation flexure 336′ includes flexible members 354 orientedin the direction of axis X, flexible members 356 oriented in thedirection of axis Y, and a rigid L-shaped member 358. Members 354 arecoupled to circuit board 308 on one end and to L-shaped member 358 onthe other end. Members 356 are coupled to L-shaped member 358 on one endand to ground on the other end. Members 354 and 356 can be narrow in onedimension and relatively wide in the other dimensions, similar toflexible members 212 a and 212 b shown in FIG. 12, so that the memberscan bend within the X-Y plane.

The flexure 336′ allows the circuit board 308 to move along the axes Xand Y, but prevents the circuit board 308 from rotating within the X-Yplane. Flexure 336′ is more complex to implement than the helicalflexure 336, but provides less resistance to the circuit board's motionalong the X and Y axes and thus allows more accurate force feedback.

FIGS. 22d and 22 e show an alternate embodiment 300′ of the interfaceapparatus 300 shown in FIGS. 22a and 22 b. Interface apparatus 300′provides two linear degrees of freedom to object 44 so that the user cantranslate object 44 along the X axis, along the Y axis, or along bothaxes (diagonal movement). Apparatus 300′ includes a circuit board 308that includes voice coil actuators 310 a and 310 b and guides 318. Thesecomponents operate substantially similar to the equivalent components inapparatus 300.

A main difference between the embodiments of FIGS. 22a-b and FIGS. 22d-eis that object 44 is rigidly coupled to circuit board 308. Thus, whencircuit board 308 is translated along axis X and/or axis Y, shown byarrows 320 a and 320 b, object 44 is translated in the same directions,as shown by arrows 350 and 352, respectively, providing the object withlinear degrees of freedom. Thus, both user object 44 and circuit board308 move in linear degrees of freedom. This is unlike the apparatus 300,in which the linear motion of circuit board 308 was converted intorotary degrees of freedom for object 44 by ball joint 302.

FIG. 23a is a front elevational view of an embodiment for a frictiondrive 360 that can be used, for example, in place of capstan drivemechanism 58 of the present invention. Drum 162 is similar to capstandrum 59 and can be coupled to mechanical apparatus 25 or 200 similarlyas described above. For example, drum 362 can be rigidly coupled toextension member 48 a or 48 b and can rotate about can be axis A or axisB, respectively. Axis A is shown in FIG. 23a as an example.

Leg portions 364 of drum 362 are provided in a similar configuration ascapstan drum 59. A drive bar 366 is coupled between the leg portions364. Drive bar 366 is a curved, preferably round, rigid wire that has aninterior frictional surface 370 and an exterior frictional surface 372.Alternatively, drive bar can be a flat or square-cross sectional memberand/or can be either rigid or flexible. A drive roller 374 isfrictionally engaged with the external frictional surface 372 and isrotatably coupled to a ground member. For example, drive roller 374 canbe coupled to ground member 62 of apparatus 25 similarly to pully 76 asshown in FIG. 5. Drive roller 374 is preferably coupled to a shaft of atransducer 42, similarly to pulley 76 of FIG. 5. Preferably, transducer42 includes an actuator that rotates driver roller 374.

A passive roller 376 is frictionally engaged with the interiorfrictional surface 370 of drive bar 366 opposite to drive roller 374 andextends substantially parallel to the drive roller. Passive roller 376is preferably spring loaded such that the passive roller is forcedtowards driver roller 374. This force is indicated by spring 378. Forexample, spring members can couple the passive roller to driver roller374. A clamping force is thus created between the passive roller 376 andthe drive roller 374, which creates a high compressive force between thedrive bar 366 and the drive roller 374. This force enables the driveroller to impart a tangential driving force to the drive bar 366 andthus move the drive bar, in turn rotating drum 362 about axis A. Usingthe friction drive 360, an actuator in transducer 42 can impart rotaryforces to drum 362 and, for example, extension member 48 a or 48 b. Inaddition, a sensor in transducer 42 can sense the position of anextension member 48 a or 48 b by reading the position of drum 60. Themotion of drum 60 is transmitted to drive roller 374 through thecompressive force, and is read by the sensor as the drive rollerrotates.

In alternate embodiments, passive roller 376 can be rotatably coupled toground member 62 and thus fixed in position. In addition, the springmembers can be placed between a moveable or compliant passive roller andground and between a moveable/compliant drive roller 374 and ground inan alternate embodiment. This would allow the passive roller and thedrive roller to both be pulled against the drive bar 366.

The friction drive 360 has several advantages. A mechanical advantage isprovided between an actuator and the rotation of object 44, as explainedabove for capstan drive mechanism 58. In addition, as explained abovefor the capstan drive, substantially no backlash is created with thefriction drive and the friction drive operates very smoothly to providerealistic forces to the user. However, no cable or wire is required inthe present drive mechanism, thus providing a simpler and easier toassemble drive mechanism than the capstan drive. The friction drive isalso inexpensive, since the parts of the drive are simple tomanufacture. Also, high speed-reduction ratios between the actuatorcoupled to drive roller 374 and the motion of drum 362 about axis A arepossible when, for example, a small drive roller 374 drives a drive bar366 having a large operating radius.

FIG. 23b is a detailed view (defined by dotted line 368 of FIG. 23a) ofa different embodiment of the rollers and drive bar of the frictiondrive 360. In this embodiment, two passive rollers 376 a and 376 b areprovided to be frictionally engaged with the interior surface 370 ofdrive bar 366. Each passive roller 376 a and 376 b is spring loaded todrive roller 374 by spring members 378 a and 378 b, respectively. Thetwo passive rollers 376 a and 376 b provide a greater clamping force andcompressive force between the drive and passive rollers, thus preventingmore slip of drive bar 366 than the embodiment of FIG. 23a.

FIG. 23c is a detailed view of a third embodiment of the rollers anddrive bar of the friction drive 360. Drive bar 366 is preferably roundor square wire that is flexible in at least one direction. Two passiverollers 376 a and 376 b can be coupled together and to drive roller 374by non-tensile connections 380. The flexibility in drive bar 366 allowsthe drive bar to bend around the rollers and creates a higher friction,thus preventing slippage of the drive bar.

FIG. 23d is a detailed view of a fourth embodiment of the rollers anddriver bar which is similar to the embodiment shown in FIG. 23b exceptthat one of the passive rollers 376 a and 376 b is not spring loaded.Preferably, passive roller 376 a (or 376 b) is coupled to drive roller374 by a rotatable plate 382 or other rigid member, which acts as thenon-compliant connection 380. Since the spring 378 forces the driveroller 374 toward drive bar 366, the plate 382 rotates as shown byarrows 384. This forces the passive roller 376 a against drive bar 366and thus increases the compression force between the rollers and thedrive bar 366.

FIG. 23e is an alternate embodiment of the friction drive 360 in whichthe rollers 376 a, 376 b, and 374 are provided in a differentorientation. The rollers are positioned 90 degrees offset from theirposition in the embodiment of FIG. 23a. The function of the rollers issubstantially the same as described above.

FIG. 23f is an alternative embodiment showing a linear friction drive360′. Friction drive 360′ includes a sliding member 388 which issupported by guides 390. Guides 390 are preferably grounded so thatsliding member 388 can translate between the guides, as shown by arrows386. A drive bar 366 is coupled between two leg portions 392 of thesliding member 388. Drive bar 366 can be a wire or member as describedabove with respect to FIG. 23a.

Passive roller 376 and drive roller 374 are frictionally engaged withdrive bar 366. As described above, drive roller 374 is rotated by anactuator and causes a tangential force on drive bar 366. This causessliding member 388 to translate in either direction 386. A spring 378can be coupled between the passive and drive rollers as described above.Alternatively, the other embodiments of rollers 374 and 376 as describedwith reference to FIGS. 23b-23 e can also be used with linear frictiondrive 360′. Linear friction drive 360′ can be used to provide forces ina linear degree of freedom. For example, linear forces can be applied tolinear axis member 40 or 204 (or object 44, if appropriate) using drive360′. The linear axis member can be coupled to sliding member 388 andthus translate when member 388 translates.

FIG. 24 is a block diagram showing another embodiment of an electronicinterface 14′ and host computer 16 suitable for use with the presentinvention. This embodiment includes a local microprocessor which canperform much of the signal processing necessary to control the sensorsand actuators of the mechanical apparatus 25. User object 44 may begrasped or otherwise contacted or controlled by a user and is coupled tomechanical apparatus 25, as described above.

Host computer 16 preferably includes a host microprocessor 400, a clock402, and display screen 20. Host microprocessor 400 can include avariety of available microprocessors from Intel, Motorola, or othermanufacturers. Microprocessor 400 can be single microprocessor chip, orcan include multiple primary and/or co-processors. In addition, hostcomputer 16 preferably includes standard components such as randomaccess memory, (RAM), read-only memory (ROM), and input/output (I/O)electronics (not shown). In the described embodiment, host computersystem 16 can receive sensor data or a sensor signal via interface 404from sensors of mechanical apparatus 25 and other information. Hostcomputer 16 can also output a “force command” to mechanical apparatus 25via interface 404 to cause force feedback for the interface device.

Clock 402 is a standard clock crystal or equivalent component used byhost computer 16 to provide timing to electrical signals used bymicroprocessor 400 and other components of the computer. Clock 402 canbe accessed by host computer 16 in the control process of the presentinvention, as described subsequently.

Display screen 20 is described with reference to FIG. 1. Audio outputdevice 406, such as speakers, is preferably coupled to hostmicroprocessor 400 via amplifiers, filters, and other circuitry wellknown to those skilled in the art. Host processor outputs signals tospeakers 406 to provide sound output to the user when a “audio event”occurs during the implementation of the host application program. Othertypes of peripherals can also be coupled to host processor 400, such asstorage devices (hard disk drive, CD ROM drive, floppy disk drive,etc.), printers, and other input and output devices.

Electronic interface 14′ is coupled to host computer 16 by abi-directional bus 404. The bi-directional bus sends signals in eitherdirection between host computer 16 and interface 14′. Herein, the term“bus” is intended to generically refer to an interface such as betweenhost computer 16 and microprocessor 410 which typically includes one ormore connecting wires or other connections and that can be implementedin a variety of ways, as described below. In the preferred embodiment,bus 404 is a serial interface bus providing data according to a serialcommunication protocol. An interface port of host computer 16, such asan RS232 serial interface port, connects bus 404 to host computer 16.Other standard serial communication protocols can also be used in theserial interface and bus 404, such as RS-422, Universal Serial Bus(USB), MIDI, IrDA, or other protocols well known to those skilled in theart. For example, USB provides a relatively high speed serial interfacethat can provide force feedback signals in the present invention with ahigh degree of realism.

An advantage of the present embodiment 14′ is that low-bandwidth serialcommunication signals can be used to interface with mechanical apparatus25, thus allowing a standard built-in serial interface of many computersto be used directly. Alternatively, a parallel port of host computer 16can be coupled to a parallel bus 404 and communicate with interfacedevice using a parallel protocol, such as SCSI or PC Parallel PrinterBus. In a different embodiment, as described with reference to FIG. 9,bus 404 can be connected directly to a data bus of host computer 16using, for example, a plug-in card and slot or other access of computer16. For example, on an IBM AT compatible computer, the interface cardcan be implemented as an ISA, EISA, VESA local bus, PCI, or otherwell-known standard interface card which plugs into the motherboard ofthe computer and provides input and output ports connected to the maindata bus of the computer. In addition, the embodiment of FIG. 9 can beused with the local microprocessor of the present embodiment.

In yet another embodiment, an additional bus 405 can be included tocommunicate between host computer 16 and electronic interface 14′. Sincethe speed requirement for communication signals is relatively high foroutputting force feedback signals, the single serial interface used withbus 404 may not provide signals to and from the interface device at ahigh enough rate to achieve realistic force feedback. In such anembodiment, bus 404 can be coupled to the standard serial port of hostcomputer 16, while additional bus 405 can be coupled to a second port ofthe host computer. For example, many computer systems include a “gameport” in addition to a serial RS-232 port to connect a joystick orsimilar game controller to the computer. The two buses 404 and 405 canbe used simultaneously to provide an increased data bandwidth. Forexample, microprocessor 410 can send sensor signals to host computer 16via a uni-directional bus 405 and a game port, while host computer 16can output force feedback signals from a serial port to microprocessor410 via uni-directional bus 404. Other combinations of data flowconfigurations can be implemented in other embodiments.

Electronic interface 14′ includes a local microprocessor 410, sensors128, actuators 126, optional sensor interface 130, an optional actuatorinterface 412, and other optional input devices 414. Interface 14′mayalso include additional electronic components for communicating viastandard protocols on bus 404. In the preferred embodiment, multiplemechanical apparatuses 25 and interfaces 14′ can be coupled to a singlehost computer 16 through bus 404 (or multiple buses 404) so thatmultiple users can simultaneously interface with the host applicationprogram (in a multi-player game or simulation, for example). Inaddition, multiple players can interact in the host application programwith multiple mechanical apparatuses 25/interfaces 14′ using networkedhost computers 16, as is well known to those skilled in the art.

Local microprocessor 410 is coupled to bus 404 and is preferablyincluded within the housing of interface 14′ (and mechanical interfaceapparatus 25) to allow quick communication with other components of theinterface device. Processor 410 is considered “local” to mechanicalapparatus 25 and interface 14′, where “local” herein refers to processor410 being a separate microprocessor from any processors in host computer16. “Local” also preferably refers to processor 410 being dedicated toforce feedback and sensor I/O of mechanical apparatus 25, and beingclosely coupled to sensors 128 and actuators 126, such as within orcoupled closely to the housing for the mechanical apparatus 25.Microprocessor 410 can be provided with software instructions to waitfor commands or requests from computer 16, decode the command orrequest, and handle/control input and output signals according to thecommand or request. In addition, processor 410 preferably operatesindependent of host computer 16 by reading sensor signals andcalculating appropriate forces from those sensor signals, time signals,and a subroutine or “reflex process” selected in accordance with a hostcommand. Suitable microprocessors for use as local microprocessor 410include the MC68HC711E9 by Motorola and the PIC16C74 by Microchip, forexample. Microprocessor 410 can include one microprocessor chip, ormultiple processors and/or co-processor chips. In other embodiments,microprocessor 410 can includes a digital signal processor (DSP) chip.Local memory 411, such as RAM and/or ROM, is preferably coupled tomicroprocessor 410 in interface 14′ to store instructions formicroprocessor 410 and store temporary data. In addition, a local clock413 can be coupled to the microprocessor to provide absolute timinginformation, similar to system clock 402 of host computer 16; the timinginformation might be required, for example, to compute forces output byactuators 126 (e.g., forces dependent on calculated velocities or othertime dependent factors). Microprocessor 410 can receive signals fromsensors 128 and provide signals to actuators 126 of the interface 14′ inaccordance with instructions provided by host computer 16 over bus 404.

For example, in one embodiment, host computer 16 can provide low-levelforce commands over bus 404, which microprocessor 410 directly providesto actuators 126. In a different embodiment, host computer 16 canprovide high level supervisory commands to microprocessor 410 over bus404, and microprocessor 410 manages low level force control (“reflex”)loops to sensors 128 and actuators 126 in accordance with the high levelcommands. Host computer 16 can send host commands to the microprocessorto select a type of force for the microprocessor to independentlyimplement in a reflex loop. Microprocessor 410 can continually read datafrom sensors 128 for the position and motion of object 44 and computeforces on the object according to the sensor data, timing data fromclock 413, and/or subroutines or reflex processes selected in accordancewith the host commands. The processor then outputs a processor commandto an actuator to apply the computed force. Such a process is describedin greater detail in co-pending U.S. Pat. No. 5,739,811, assigned to thesame assignee as the present application and incorporated by referenceherein.

Microprocessor 410 can also receive commands from any other inputdevices 412 included on mechanical apparatus 25 or interface 14′ andprovides appropriate signals to host computer 16 to indicate that theinput information has been received and any information included in theinput information. For example, buttons, switches, dials, or other inputcontrols associated with apparatus 25 14 can provide signals tomicroprocessor 410.

In the preferred embodiment, interface 14′ is included in a housing towhich mechanical apparatus 25 and user object 44 is directly orindirectly coupled. Alternatively, microprocessor 410 and/or otherelectronic components of interface device 14′ can be provided in aseparate housing from user object 44, apparatus 25, sensors 128, andactuators 126.

Sensors 128 sense the position, motion, and/or other characteristics ofuser object 44 of the mechanical apparatus 25 along one or more degreesof freedom and provide signals to microprocessor 410 includinginformation representative of those characteristics. Examples ofembodiments of user objects and movement within provided degrees offreedom are described above with respect to FIGS. 2-8. Typically, asensor 128 is provided for each degree of freedom along which object 44can be moved. Alternatively, a single compound sensor can be used tosense position or movement in multiple degrees of freedom. Examples ofsensors suitable for several embodiments described herein, such asdigital optical rotary encoders, are described above. Linear opticalencoders may similarly sense the change in position of object 44 along alinear degree of freedom.

Sensors 128 provide an electrical signal to an optional sensor interface130, which can be used to convert sensor signals to signals that areprovided to and can be interpreted by the microprocessor 410 and/or hostcomputer 16. Alternately, microprocessor 410 can perform these sensorinterface functions without the need for a separate sensor interface130. The sensor signals can be processed by microprocessor 410 and mayalso be sent to host computer 16 which updates the host applicationprogram and sends force control signals as appropriate. Other interfacemechanisms can also be used to provide an appropriate signal to hostcomputer 16. In alternate embodiments, sensor signals from sensors 128can be provided directly to host computer 16, bypassing microprocessor410. Also, sensor interface 130 can be included within host computer 16,such as on an interface board or card. Alternatively, as describedabove, an analog sensor can be used instead of digital sensor for all orsome of the sensors 128.

Other types of interface circuitry 36 can also be used. For example, anelectronic interface is described in abovementioned parent U.S. Pat. No.8,576,727. The electronic interface described therein has six channelscorresponding to the six degrees of freedom of a stylus. The interfaceallows the position of the mouse or stylus to be tracked and providesforce feedback to the mouse using sensors and actuators. Sensorinterface 130 can include angle determining chips to pre-process anglesignals reads from sensors 128 before sending them to the microprocessor410. For example, a data bus plus chip-enable lines allow any of theangle determining chips to communicate with the microprocessor. Aconfiguration without angle-determining chips is most applicable in anembodiment having absolute sensors, which have output signals directlyindicating the angles without any further processing, thereby requiringless computation for the microprocessor 410 and thus little if anypre-processing. If the sensors 128 are relative sensors, which indicateonly the change in an angle and which require further processing forcomplete determination of the angle, then angle-determining chips aremore appropriate.

In either configuration, if the microprocessor 410 is fast enough, itcan compute object 44 position and/or orientation (or motion, ifdesired) on board the embodiment and send this final data through anystandard communications interface such as bus 404 on to the hostcomputer 16 and to display screen 20. If the microprocessor 410 is notfast enough, then the angles can be sent to the host computer 16 whichcan perform the calculations on its own.

Other variations may consist of microprocessor 410 which reads otherinput devices 412, obtains angles, possibly computes coordinates andorientation of the object 44, and supervises communication with the hostcomputer 16. Another variation may consist of dedicated subcircuits andspecialized or off-the-shelf chips which read the other input devices,monitor the sensors 128, determine angles, and handle communicationswith the host computer 16, all without software or a microprocessor 410.

Actuators 126 transmit forces to user object 44 of mechanical apparatus25 in one or more directions along one or more degrees of freedom inresponse to signals received from microprocessor 410. Typically, anactuator 126 is provided for each degree of freedom along which forcesare desired to be transmitted. As explained above, actuators 126 caninclude active actuators and/or passive actuators.

Actuator interface 414 can be optionally connected between actuators 126and microprocessor 410. Interface 414 converts signals frommicroprocessor 410 into signals appropriate to drive actuators 126.Interface 414 can include power amplifiers, switches, digital to analogcontrollers (DACs), and other components. An example of an actuatorinterface for active actuators is described above with reference toFIGS. 9, 10 and 11. In alternate embodiments, interface 414 circuitrycan be provided within microprocessor 410 or in actuators 126.

If one or more voice coils 240 are being used as actuators 126 to applyforces to object 44, as shown in FIG. 18, then microprocessor 410 and/orhost computer 16 can command specific current magnitude and direction tothe voice coil(s) 240 to apply desired forces to object 44. This ispreferably accomplished using voice coil driver chips that can beprovided in actuator interface 414. These chips typically include aself-contained transconductance amplifier, with a current controlfeedback loop, to output current to the voice coil actuator. A preferredvoice coil driver chip includes a switchable transconductance gaincircuit that allows the user to choose between two differentvoltage-to-current gains. When smaller, more fine forces are to beoutput, the gain can be switched from a high gain to a low gain, thusdecreasing the current step size. This increases the resolution of theDAC used to drive the voice coil driver. With a greater resolution, theDAC can more finely and accurately control the forces felt by the user.This fine control, however, provides a smaller range of possible forcesthat can be output. Thus, when a larger range of forces is desired, thegain can be switched back to the larger gain. The gain switching can beimplemented using a control line from the microprocessor 410 or computer16 to the voice coil driver chip. Suitable voice coil driver chipsinclude the Siliconex Si9961 (with gain control), the Allegro 8932-A(with gain control), the Allegro 8958 (no gain control), and theUnitrode UC3176 (no gain control). The operation and implementation ofthese drivers is well known to those skilled in the art. In addition,such voice coil driver chips can be advantageously used with actuatorsother than voice coil actuators. For example, a servo motor can beprovided with current and switchable gains from a voice coil driver chipthat is inexpensive and conveniently implemented.

Other input devices 412 can optionally be included in the housing formechanical apparatus 25 and send input signals to microprocessor 410.Such input devices can include buttons, dials, switches, or othermechanisms. For example, in embodiments where user object 44 is ajoystick (as in FIG. 8), other input devices can include one or morebuttons provided, for example, on the joystick handle or base and usedto supplement the input from the user to a game or simulation. Theoperation of such input devices is well known to those skilled in theart.

Power supply 416 can optionally be coupled to actuator interface 414and/or actuators 126 to provide electrical power. Active actuatorstypically require a separate power source to be driven. Power supply 416can be included within the housing of mechanical apparatus 25, or can beprovided as a separate component, for example, connected by anelectrical power cord.

Safety switch 418 is preferably included in interface device to providea mechanism to allow a user to override and deactivate actuators 126, orrequire a user to activate actuators 126, for safety reasons. Certaintypes of actuators, especially active actuators such as motors, can posea safety issue for the user if the actuators unexpectedly move userobject 44 against the user with a strong force. In addition, if afailure in the interface system occurs, the user may desire to quicklydeactivate the actuators to avoid any injury. To provide this option,safety switch 418 is coupled to actuators 126. Safety switch 418 can beimplemented such that the user must always hold or close the switch, sothat if the user lets go, power to the actuators is cut off.

While this invention has been described in terms of several preferredembodiments, it is contemplated that alterations, modifications andpermutations thereof will become apparent to those skilled in the artupon a reading of the specification and study of the drawings. Forexample, the linked members of apparatus 25 can take a number of actualphysical sizes and forms while maintaining the disclosed linkagestructure. In addition, other gimbal mechanisms can also be providedwith a linear axis member 40 to provide three degrees of freedom.Likewise, other types of gimbal mechanisms or different mechanismsproviding multiple degrees of freedom can be used with the capstan drivemechanisms disclosed herein to reduce inertia, friction, and backlash ina system. A variety of devices can also be used to sense the position ofan object in the provided degrees of freedom and to drive the objectalong those degrees of freedom. In addition, the sensor and actuatorused in the transducer system having desired play can take a variety offorms. Similarly, other types of couplings can be used to provide thedesired play between the object and actuator. Furthermore, certainterminology has been used for the purposes of descriptive clarity, andnot to limit the present invention. It is therefore intended that thefollowing appended claims include all such alterations, modificationsand permutations as fall within the true spirit and scope of the presentinvention.

What is claimed is:
 1. An interface apparatus for interfacing motion ofa user with a computer system, said interface apparatus comprising: auser manipulatable object physically contacted by said user and moveableby said user in at least two rotary degrees of freedom; a linkagecoupled to said user manipulatable object and providing said at leasttwo rotary degrees of freedom to said user manipulatable object, eachrotary degree of freedom being about an axis of rotation, said linkageincluding a plurality of members, wherein a selected number of saidplurality of members have been formed as a unitary member in which flexis provided between said selected number of members, said flexpermitting motion between said selected number of members that allowsmotion of said user manipulatable object in at least one of said rotarydegrees of freedom, wherein said plurality of members of said linkageare formed as a closed-loop linkage in which said members are flexiblycoupled to each other as segments of said unitary member; and at leastone sensor able to detect a position or motion of said usermanipulatable object along said at least two degrees of freedom andoutputting sensor signals, wherein said sensor signals, or arepresentation thereof, are received by said computer system.
 2. Aninterface apparatus as recited in claim 1 further comprising anelectronically-controllable actuator coupled to said linkage and able toapply a force along at least one of said at least two degrees of freedomto said user manipulatable object through said unitary member.
 3. Aninterface apparatus as recited in claim 2 wherein said actuator is afirst actuator coupled to a ground member, and further comprising asecond actuator coupled to a ground member of said linkage, said secondactuator being operative to apply a force in a degree of freedom to saiduser manipulatable object in response to signals received from saidcomputer system.
 4. An interface apparatus as recited in claim 2 whereinsaid actuator includes a voice coil actuator for imparting a force onsaid user object using magnetic fields and controlled by an electricalcurrent.
 5. An interface apparatus as recited in claim 1 wherein saidclosed loop linkage includes: a ground member coupled to a groundsurface; first and second extension members, each extension member beingcoupled to said ground member; and first and second central members,said first central member having an end coupled to said first extensionmember and said second central member having an end coupled to saidsecond extension member, wherein said central members are coupled toeach other at ends not coupled to said extension members and wherein atleast one of said central members is coupled to said user manipulatableobject, said central members coupled to each other approximately at saidcoupling of said user manipulatable object to said at least one of saidcentral members.
 6. An interface apparatus as recited in claim 5 whereinsaid central members are coupled to an object member which is coupled tosaid user manipulatable object.
 7. An interface apparatus as recited inclaim 5 wherein said first and second central members are flexible andwherein said first and second central members and said first and secondextension members are flexibly coupled to each other and form saidunitary member.
 8. An interface apparatus as recited in claim 5 whereinsaid ground member is rotatably coupled to said first and secondextension members by bearings, said bearings allowing said first andsecond extension members to be rotated about said axes of rotation. 9.An interface apparatus as recited in claim 5 wherein said centralmembers are flexibly coupled to an object member which is coupled tosaid user manipulatable object.
 10. An interface apparatus as recited inclaim 5 wherein said end of said first central member is flexiblycoupled to said first extension member, and said end of said secondcentral member is flexibly coupled to said second extension member. 11.An interface apparatus as recited in claim 5 wherein said two axes ofrotation are fixed with respect to said ground member, said first andsecond extension members being rotatable about said fixed axes ofrotation, and wherein said central members are rotatable about first andsecond floating axes, said floating axes being movable with respect tosaid ground member.
 12. An interface apparatus as recited in claim 1wherein at least one of said members flexibly coupled in said unitarymember is relatively narrow in a dimension in which said member isdesired to flex, and is relatively wide in other dimensions in whichsaid member is desired to be stiff.
 13. An interface apparatus asrecited in claim 1 wherein said user manipulatable object is a joystickhandle.
 14. A flexure linkage for providing motion to a usermanipulatable object of an interface device, said interface device incommunication with a computer system, said flexure linkage comprising: afirst member coupled to said user manipulatable object; a second membercoupled to said first member, wherein flex is provided between saidsecond member and said first member; and a third member coupled to saidfirst member, wherein flex is provided between said third member andsaid first member, and wherein said first, second and third members forma unitary member; wherein said flexure linkage provides at least tworotary degrees of freedom to said user manipulatable object about axesof rotation with respect to a ground such that said user manipulatableobject can be moved by a user in said at least two rotary degrees offreedom and a position of said user manipulatable object in said tworotary degrees of freedom can be provided to said computer system.
 15. Aflexure linkage as recited in claim 14 wherein said first and secondmembers are coupled to an object member which is coupled to said usermanipulatable object.
 16. A flexure linkage as recited in claim 14wherein at least one of said members flexibly coupled in said unitarymember is relatively narrow in a dimension in which said member isdesired to flex, and is relatively wide in other dimensions in whichsaid member is desired to be stiff.
 17. A method for interfacing motionof a user manipulatable object with a computer system, the methodcomprising: providing said user manipulatable object physicallycontacted by a user and moveable by said user; providing a linkageincluding a plurality of members wherein said plurality of members ofsaid linkage are formed as a closed-loop linkage; providing flex betweena selected number of said members to provide at least two rotary degreesof freedom to said user manipulatable object about axes of rotation,wherein said selected number of members are formed as a unitary member;and sensing a position or motion of said user manipulatable object insaid at least two rotary degrees of freedom and outputting sensorsignals, wherein said sensor signals, or a representation thereof, arereceived by said computer system.
 18. A method as recited in claim 17further comprising applying a force along at least one of said at leasttwo degrees of freedom to said user manipulatable object through saidunitary member.
 19. A method as recited in claim 17 wherein said axes ofrotation are fixed with respect to a ground member of said plurality ofmembers, wherein said plurality of members includes first and secondextension members and a first central member coupled to said firstextension member and a second central member coupled to said secondextension member, wherein said first and second extension members beingrotatable about said fixed axes of rotation, and wherein said centralmembers are rotatable about first and second floating axes, saidfloating axes being movable with respect to said ground member.